sum column = value eğer başka bir hücre metin içeriyorsa, ancak farklı bir hücre NULL ise


1

Ben hücrelerin toplamını hesaplamak çalışıyorum J10:M76eğer B10:E76bir metin değeri = fakat hücreler eğer R10:R76(bir değer içeren) boş değildir ben içindedir değerini dahil İSTEMİYORSANIZ J10:M76.

Bunun biraz karışık olduğunu biliyorum ve bunu çözmek için şu anki durumum bu, ama daha iyi bir yol olmalı.

=SUM(SUMIF($B$10:$E$76,{"City of Tampa"},$J$10:$M$76))-J13


emmm ... Örneğin, B11 ve E20, ihtiyacınız olan metni içeriyorsa, J11 ve M20'de değer eklemek mi istiyorsunuz, RI sütununda herhangi bir değerin eksi yapması gerekiyorsa. Anlayışım doğruysa?
Lee,

Bir Dizi Formül CSE'sine ihtiyacınız var ,{=IF($R$10:$R$76="",SUMIF($B$10:$E$76,"City Of Tempa",$J$10:$M$76),"")}
Rajesh S

Sorunuzdaki bazı şeyler net değil. 1. B10 ile neyi kastediyorsunuz: E76 = "metin"? Satırdaki dört sütunun da metni eşitlemesi gerekiyor mu? Herhangi bir sütun? Aynı metin türünü birden fazla sütuna sahip olmak, veri oluşturmanın tipik bir yolu değildir, bu yüzden orada ne var ve gereklilik açık değildir. 2. Her satır başka bir veri kaydı mı, bu nedenle kurallar satıra göre uygulanır (tüm satır değerlerini satırın ölçütleri yerine getirildiği sürece genel toplamda J: M sütunlarına dahil etmek istersiniz)? (devam ediyor)
fixer1234

3. col R'deki boş değere başvurduğunuzda, hücrenin boş olduğunu mu kastediyorsunuz? Dolayısıyla, temelde satırın karşılaması gereken iki koşul vardır: B'de açıklığa kavuşturduğunuz bir şey: E = "metin değeri" ve R boş değil? 4. Hedef metin yalnızca "Tampa Şehri" olacak mı, bu nedenle formülde kodlanmış bir kodun olmasını istersiniz, veya bu durumda bu metni bir hücreye bir yere girmek ve o hücreye başvuru yapmak mantıklı olacaktır. formülde yani değer kolayca değiştirilebilir? (devam ediyor)
fixer1234

5. -J13 nedir? Bu, veri aralığınız dahilinde, yani sizin dahil ettiğinizi varsaymak için el ile tanımladığınız ve çıkardığı kodlanmış bir değer örneği; Öyleyse, neden sadece J değil J: M? 6. Bunun gibi karmaşık gereksinimler, karşılaşabileceğiniz koşulların kapsamını içeren bazı örnek verilerle, bu örneğin sonucunun ne olması gerektiğine ve bunun nedenine ilişkin olarak her zaman daha iyidir. Aksi halde, insanlar gereksinimlerin yanlış yorumlanmasına dayanarak cevap vermeye çalışmak için çok zaman harcarlar.
fixer1234

Yanıtlar:


0

Bir dizi formülü kullanabiliyorsanız, bunun standart bir yaklaşımı vardır.

Benim düşüncem, cevabı tek bir hücrede görmek istediğinizdir, bu yüzden dizi formüllerinden kaçınmak için özel bir neden olmamalıdır. (Çok hücreli dizi formülleri için ortak bir neden, formülün ve ilgili sorunların değiştirilmesindeki zorluktur. Dizi dizisi tarafından alınan bir blok, birine birleştirilen bir hücre bloğu gibi çok fazla hareket edebilir.)

(Bu sadece çok uzun, bu yüzden adımları yeterince açıklayabiliyorum, böylece göstermem gereken bir teensy detayından çıldırmıyorsunuz.)

Eğer öyleyse, işte kavram:

Son formül yalnızca Control-Shift-Enter ("CSE") kullanılarak girilen bir dizi formülü değil, aynı zamanda bölümlerini diziler halinde oluşturursunuz.

Bir dizi (muhtemelen) toplamak istediğiniz değerleri içerir (bu durumda B10: M76). İkinci dizi, istenen metnin bulunduğu aralık olacak ve üçüncü dizi boş / boş / boş bir koşul için test edilen aralık olacaktır.

İlk dizinin amacı, oyuna eklenecek değerleri koymaktır. İkinci ve üçüncü sıraların amaçları aynıdır: Gerekli testleri yapmak ve her test için mantıksal bir hal almak. Mantıksal değer? Başarılı veya başarısız olan testlere bağlı olarak, DOĞRU veya YANLIŞ döndürürsünüz.

Eğer üzerine bir matematik işlemi yaparsanız, Excel bu mantıksal değerleri 1 ve 0 olarak kabul edecektir. Öyleyse, mutlu metin sütunu, bir matematik yaparsanız {1; 0; 1; 1; 0; ... vb. Gibi davranacak olan {TRUE; FALSE; TRUE; TRUE; FALSE; ... etc. Sonuçta işlem. Genellikle bunu 1 ile çarparak tek bir diziye yapacaksınız. Burada çözüme yönelik daha karmaşık bir yola ihtiyacınız var ve bir "* 1" getirmek yerine, sadece diğer iki diziyi kullanacaksınız. Üçüncü dizi, hücreleri null / blank / empty durumu için sınama ve aynı türde TRUE ve FALSE dizisini almada size benzer.

Bu nedenle, ilk dizi, toplama değerlerinin aralığını bir diziye yerleştirir ve ikinci ve üçüncü diziler, istediğiniz iki testin DOĞRU ve YANLIŞ sonuçlarıdır. Testlerden herhangi biri başarısız olursa, diğer test sonucunu 0 ile çarpacaksınız, sonuçta 0 ile sonuçlanan toplamı çarpmak. Bu nedenle, testlerden herhangi biri başarısız olursa, o satırın toplama değeri 0 ile çarpılır ve SUM () işlevi tarafından 0 eklenerek sonuçlanır. Bunu hepsini saracaksınız. Her iki test de başarılı olursa, bu satırın toplama değeri 1 ile çarpılır ve Excel'in SUM () işlevine sunduğu son dizide sona erer.

Bu şekilde SUM (), bir yoldan veya diğerinden başarısız olan satırlar için hiçbir şey eklemez, bu nedenle yalnızca testleri başarılı olan değerler sonuçta görünür.

İstediğin şey bu.

Bu durumda, ilk sınamayı, başarılı olursa bir DOĞRU üretecek şekilde yazmanız gerekir. Gibi bir şey:

(B1:B6="City of Tampa")

ve ikinci testin yazılması gerekir, bu nedenle eğer test başarısız olursa 1 üretir, bu nedenle konuşmak için "eşleşmeyen" bir tür olarak yazın veya "pozitif" bir şekilde yazın, ancak bunu bir NOT () konumuna getirin () fonksiyon:

(C1:C6<>"")
(NOT(C1:C6=""))

(Hangi yaklaşım size en iyisi olursa olsun ve gelecekteki e-tablonuz üzerinde çalışmanız için size ihbarda bulunacaktır. Buradaki herkes farklıdır ve gözetmen bazen taleplerini açıklar, böylece denetleyebilir ve geçerli cevaplar vermesi için rahat olabilirler.)

İlk diziniz oldukça basit, yalnızca kendi başınıza toplayabileceğiniz değer aralığı:

A1:A6

(Test bölümlerini (ikinci ve üçüncü diziler) parantez içine almanız gerekir, ancak ilk dizide bunu yapmanız gerekmez. Ancak isterseniz yapabilirsiniz.)

Sonra hepsini bir araya getirin ve SUM () işleviyle sarın:

{=SUM( A1:A6 * (B1:B6="City of Tampa") * (C1:C6<>"") )}

("CSE" ye basmak, elbette yukarıdakileri sarmalayan {} ekleyecektir.)

Bu yaklaşımı sadece özetleme cephesinde bir sürü varyasyonla değil, diğer birçok fonksiyonla da kullanabilirsiniz. Aslında, birkaçı son formülün tamamını "CSE" ile girmeyi gerektirmez: ara çalışmasında dizileri kullanmasına rağmen tamamen normal bir formül olabilir. Eğer yukarıdakileri uygularsanız, bu yaklaşımı karşılaşacağınız birçok soruna uygulayabilirsiniz.

Sorununuzu tam olarak yeniden yaratmadım (bu nedenle örneklerdeki basit aralıklarım) ancak üzerinde çalışacak çok sütunlu ve sıralı bir aralık biraz fazladan çalışma gerektirir. Çok satırlı VEYA çok sütun aralığı, tek satırlı bir matris gibi, hala tek satırlı bir dizidir. satırlar yapmak VE sütunlar, Excel'e (olduğu gibi) 3x4 matris gibi birden çok satır içeren dizileri verir. Hata alırsanız, "gevşetmeniz" gerekir ve Excel'i söz konusu aralıkları tek satır dizileri olarak görmeye zorlamanız gerekir. Örneğin, tek sütunları (veya yazmak daha kolaysa satırları) tek bir aralığa çekmek için Adlandırılmış Aralıkları kullanın. Başka numaralar da var. Birincisi, bir sütunda bir hesaplama kümesi yapmak için formülü yazmak ve ikinci bir sütunda ikinci bir hesaplamalar kümesine eklemek. Her sütun kümesi için aynı şeyden yalnızca birkaç set değiştirildi. Ama genellikle çok fazla sorun yaşamadan birlikte kaldırırsınız, sadece bir miktar dirsek yağı.

Son olarak, bazı formüllerin dizileri kullandığını ancak CSE tarafından girilmiş formüllerin kendilerinin olmasına gerek olmadığını söyledim. Ancak, garip bir şekilde, her seferinde bunun neden gerçek bir şekilde anlaşılabilir hale geldiğini anlayana kadar, Homer "Doh!" an, bunu yapmak CSE'nin girdiği aynı şeyden farklı bir sonuç verebilir. Öyleyse, girilen CSE sürümü her zaman doğru sürüm olacaktır, ancak her seferinde doğrulamanız gerekir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.