(A1 * A6) + (B1 * B6) + (C1 * C6)… hesaplamak için kısa bir Excel formülü var mı?


46

Excel sayfasında aşağıdaki uzun formül için nasıl özlü bir formül verileceğini bilmek istiyorum:

= (A1*A6)+(B1*B6)+(C1*C6)...

Bir toplama fonksiyonu mu kullanıyorum yoksa bunun için başka bir fonksiyon var mı? Ben kolonu ile kullanarak düşünüyorum SUM işlev yardımcı olmalı, ancak nasıl kullanılacağını bilmiyorum.




7
Matematiksel olarak, bu nokta ürün veya skaler ürün olarak bilinir. En sevdiğiniz arama motorunu kullanmanız gerekirse yararlı terimler.
Philip Kendall

iç çarpım: Genelde bu problemi çözebiliriz ki (bunu yapabilmek için.
JosephDoggie

Yanıtlar:


111

Arıyorsun SUMPRODUCT işlevi.

=SUMPRODUCT(A1:C1,A6:C6)

Bu, karşılık gelen ürünlerin ürünlerinin toplamını iki (veya daha fazla) aralıkta döndürecektir.

enter image description here

Bağlandığım Microsoft belgelerinde de görebileceğiniz gibi, aralıkların (aynı boyutta olmasına rağmen) tek satır veya tek sütun olması gerekmez.

SUMPRODUCT, 255 farklı aralıktan değerleri çarpabilir. Örneğin =SUMPRODUCT(A1:C1,A6:C6,A11:C11) aynıdır =A1*A6*A11+B1*B6*B11+C1*C6*C11.


19

SUM işlev sadece elemanları eklediğinden çalışmaz. SUM gibi geçmeden önce değerleri çarpmanız gerekir =SUM(A1*A6, B1*B6, C1*C6, D1*D6, E1*E6)

Tabii ki kullanabilirsiniz =A1*A6 + B1*B6 + C1*C6 + D1*D6 + E1*E6 hangi hemen hemen aynı yazma çabası ile sonuçlanır SUM

Çok daha iyi çözümler var. Bir yol kullanmaktır dizi formülü . Orada seninki gibi kesin bir örnek görebilirsiniz:

Dizi formülü sözdizimi

Genel olarak, dizi formülleri standart formül sözdizimini kullanır. Hepsi bir eşittir (=) işaretiyle başlar ve yerleşik Excel fonksiyonlarının çoğunu dizi formüllerinde kullanabilirsiniz. Temel fark, bir dizi formülü kullanırken, Ctrl + vardiya + Girmek Formülünüzü girmek için Bunu yaptığınızda, Excel, dizi formülünüzü parantezle çevreler - ayraçları elle yazarsanız, formülünüz bir metin dizesine dönüştürülür ve çalışmaz.

Dizi işlevleri, karmaşık bir formül oluşturmak için gerçekten etkili bir yoldur. Dizi formülü =SUM(C2:C11*D2:D11) bu aynıdır:

=SUM(C2*D2,C3*D3,C4*D4,C5*D5,C6*D6,C7*D7,C8*D8,C9*D9,C10*D10,C11*D11).

Büyük olasılıkla dizi formülünü kullanmak için yazabilirsiniz (tabii ki dizinin son elemanını buna göre değiştirmeniz gerekir).

=SUM(A1:E1*A6:E6)

ve sonra Ctrl + vardiya + Girmek


Dizi formülü çok güçlü bir araçtır. Ancak dikkatli kullanın. Düzenlemeniz gereken her zaman, basmayı unutmamanız gerekir. Ctrl + vardiya + Girmek

Neden dizi formüllerini kullanmalı?

Excel'de formül kullanma konusunda deneyiminiz varsa, oldukça karmaşık bazı işlemleri gerçekleştirebileceğinizi biliyorsunuzdur. Örneğin, bir kredinin toplam maliyetini belirli bir yıl boyunca hesaplayabilirsiniz. Dizi formüllerini, örneğin karmaşık görevleri yapmak için kullanabilirsiniz:

  • Bir hücre aralığındaki karakter sayısını sayın.

  • Yalnızca bir aralıktaki en düşük değerler veya bir üst ve alt sınır arasına giren sayılar gibi belirli koşulları sağlayan sayıları toplayın.

  • Her nth değerini bir değerler aralığında toplayın.

Dizi formülleri de bu avantajları sunar:

  • Tutarlılık: E2'den aşağı doğru hücrelerin herhangi birini tıklarsanız, aynı formülü görürsünüz. Bu tutarlılık daha fazla doğruluk sağlamaya yardımcı olabilir.

  • Emniyet: Çok hücreli bir dizi formülünün bir bileşeninin üzerine yazamazsınız. Örneğin, E3 hücresini tıklatın ve Sil düğmesine basın. Tüm hücre aralığını (E2 ila E11 arası) seçmeniz ve tüm dizinin formülünü değiştirmeniz veya diziyi olduğu gibi bırakmanız gerekir. Ek bir güvenlik önlemi olarak, tuşuna basmanız gerekir. Ctrl + vardiya + Girmek formüldeki değişikliği onaylamak için

  • Daha küçük dosya boyutları: Genellikle birkaç ara formül yerine tek bir dizi formülü kullanabilirsiniz. Örneğin, çalışma kitabı, E sütunundaki sonuçları hesaplamak için bir dizi formül kullanır. aynı sonuçlar.

Erişim modeli zaten bilindiğinden beri daha hızlı. Şimdi, 11 ayrı hesaplama yapmak yerine, işlemcide çoklu çekirdek ve SIMD ünitesi kullanılarak paralelleştirilebilir ve paralelleştirilebilir.


7
Ancak, dizi işlevlerinin çok kırılgan olduğunu unutmayın. Bunları kopyalayıp yapıştırırsanız, örneğin, işler gerçekten çok bozulabilir. Sık sık, çok büyüklerse zorunlu bir güncelleme olmadan doğru bir şekilde güncellenmezler. Harika, güçlü özellik, ancak normal formüllere kıyasla daha az titizlik.
JKreft

3
@StianYttervik: Cevabın faydalı olduğunu düşünüyorum. Birisi bu tür bir formülle bir sayfa açarsa ve daha önce hiç görmemişse? Bu cevap, bu kullanıcılar için yararlı olacaktır.
Bad_Bishop

3
@StianYttervik dizi formülü bir güçlü Doğru el aleti. O yavaş değil hiç de, çünkü daha kolay optimize ve vectorized olabilir. Ve hafızayı korur. Google docs bile desteklemektedir. Ve buna cevap verme. Daha fazla cevap vermeyeceğim
phuclv

2
@StianYttervik Bazı fonksiyonlar (ör. MOD ) sebep olacak SUMPRODUCT kırmak ve sonra bir Array formülü ile değiştirmeniz gerekir. Yayımlanan tüm Office sürümlerinden bahsetmiyorum bile, resmi işlevler olarak eklenen Dizi Formüllerini daha sık kullandık. MAXIFS 365) Dizi formülünüz yavaş, tıknaz ve kırılıyorsa, muhtemelen kodunuzu optimize etmeniz gerekir. Ve elbette - PowerQuery ek bir Eklenti olduğundan, birçok Şirket (çeşitli nedenlerden dolayı) Kurumsal yapı paketine dahil etmeyecek ve bu da dağıtılmış İş amaçları için aşağılık bir çözüm haline getirecektir.
Chronocidal

1
@Chronocidal Evet, durumlar var, ama bunlar çok az ... Ve sonra güç sorguları çözüm. Veya veri modeli. Veya Küp fonksiyonları. Ya da yukarıdakilerin tümü. Diziler ve satır satır hesaplama / yürütme işlemi yalnızca ölçülemez.
Stian Yttervik

8

Başka bir yaklaşım da A7'ye = A1 * A6 ifadesini koymak ve istediğiniz kadar kopyalamak, sonra son cevabı almak için $ 7 $ satırını toplamaktır. İstediğiniz gibi bir hücrede yapmaz, ancak bazen ara ürünlere sahip olmak kullanışlıdır. İki versiyonu da kullandım. Bu benim için daha fazla Excel-ish hissediyor, ancak zevkiniz farklı olabilir.


1

sayıların listesini satırlar yerine sütunlara koyarsanız (iki ve A ve B sütunlarını söyleyin), bunun gibi = Sumproduct (A: A, B: B) işlevini kullanabilirsiniz. A ve B sütunlarında olduğu kadar sayının çarpımını verir.

Sumproduct işlevinde istediğiniz kadar sütun kullanabilirsiniz.


2
Sumproduct (1: 1,2: 2) satırlar için de aynı şekilde çalışır.
Máté Juhász

0

1. ve 6. satırlarda, sahip olmak istediklerinizden başka hiçbir şey yoksa, SUMPRODUCT() çünkü bu fikri kullanabilirsin bu yorumda belirtilen . Sorunuzda belirtildiği gibi sizin durumunuzda kullanacağınız =SUMPRODUCT(1:1,6:6)


4
Bu gerçekten cevaplarda ve yorumlarda daha önce girilmiş olan şeyler hakkında ek bilgi vermiyor.
Máté Juhász

1
@ MátéJuhász - Hangi cevap cevabımı sağlar? @AjayC tarafından verilen cevaba yorumunuz verir SUMPRODUCT(1:1,2:2) ve asıl soruya dayanarak nasıl kullanılabileceğini ve bunun sınırlamasının ne olacağını açıklayan bu yoruma dayanarak bir cevap verdim.
Chris Rogers
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.