Apakah ada rumus Excel ringkas untuk menghitung (A1 * A6) + (B1 * B6) + (C1 * C6) ...?

45

Saya ingin tahu cara memberikan rumus ringkas untuk rumus panjang berikut di lembar Excel:

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

Apakah saya menggunakan fungsi penjumlahan atau ada fungsi lain untuk ini? Saya pikir menggunakan titik dua dengan SUMfungsi seharusnya membantu tetapi saya tidak tahu bagaimana menggunakannya.

rukuto
sumber
4
Kemungkinan rangkap (lintas situs) dari Excel: Produk skalar dari dua rentang - Stack Overflow
user202729
4
Untuk LibreOffice Calc
user202729
7
Secara matematis, ini dikenal sebagai produk titik atau produk skalar. Istilah yang membantu jika Anda perlu menggunakan mesin pencari favorit Anda.
Philip Kendall
produk dalam: Biasanya kita akan mengubah masalah ini sehingga orang akan melakukan (A1 * B1 + A2 * B2 + C3 * B3 ....) .... Tentu saja ini bukan notasi saja ...
JosephDoggie

Jawaban:

110

Anda mencari fungsi SUMPRODUCT .

=SUMPRODUCT(A1:C1,A6:C6)

Ini akan mengembalikan jumlah produk dari item yang sesuai dalam dua (atau lebih) rentang.

masukkan deskripsi gambar di sini

Seperti yang dapat Anda lihat dari dokumentasi Microsoft yang saya tautkan ke, rentang tidak perlu baris tunggal atau kolom tunggal (walaupun mereka harus memiliki dimensi yang sama).

SUMPRODUCT dapat melipatgandakan nilai hingga 255 rentang yang berbeda. Misalnya =SUMPRODUCT(A1:C1,A6:C6,A11:C11)sama dengan =A1*A6*A11+B1*B6*B11+C1*C6*C11.

Kayu hitam
sumber
19

SUMfungsi tidak akan berfungsi karena itu hanya menambahkan elemen. Anda perlu mengalikan nilai sebelum meneruskan ke SUM suka=SUM(A1*A6, B1*B6, C1*C6, D1*D6, E1*E6)

Tentu saja Anda juga dapat menggunakan =A1*A6 + B1*B6 + C1*C6 + D1*D6 + E1*E6yang menghasilkan cukup banyak upaya pengetikan yang samaSUM

Ada banyak solusi yang lebih baik. Salah satu caranya adalah dengan menggunakan rumus array . Anda dapat melihat contoh persis seperti milik Anda di sana:

Sintaks rumus array

Secara umum, rumus array menggunakan sintaks rumus standar. Semuanya dimulai dengan tanda sama dengan (=), dan Anda dapat menggunakan sebagian besar fungsi Excel bawaan dalam rumus array Anda. Perbedaan utama adalah ketika menggunakan rumus array, Anda menekan Ctrl+ Shift+ Enteruntuk memasukkan rumus Anda. Saat Anda melakukan ini, Excel mengelilingi rumus array Anda dengan kawat gigi - jika Anda mengetikkan kawat gigi secara manual, rumus Anda akan dikonversi ke string teks, dan itu tidak akan berfungsi.

Fungsi array adalah cara yang sangat efisien untuk membangun formula yang kompleks. Rumus array =SUM(C2:C11*D2:D11)sama dengan ini:

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

Untuk menggunakan rumus array dalam kasus Anda, Anda dapat mengetik (tentu saja Anda perlu mengubah elemen terakhir array yang sesuai)

=SUM(A1:E1*A6:E6)

lalu tekan Ctrl+ Shift+Enter


Formula array adalah alat yang sangat kuat. Namun gunakan dengan hati-hati. Setiap kali Anda perlu mengeditnya, jangan lupa untuk menekan Ctrl+ Shift+Enter

Mengapa menggunakan rumus array?

Jika Anda memiliki pengalaman menggunakan rumus di Excel, Anda tahu bahwa Anda bisa melakukan beberapa operasi yang cukup canggih. Misalnya, Anda dapat menghitung total biaya pinjaman selama beberapa tahun tertentu. Anda bisa menggunakan rumus array untuk melakukan tugas-tugas kompleks, seperti:

  • Hitung jumlah karakter yang terkandung dalam rentang sel.

  • Jumlah hanya angka yang memenuhi kondisi tertentu, seperti nilai terendah dalam rentang atau angka yang berada di antara batas atas dan bawah.

  • Jumlahkan setiap nilai ke-n dalam rentang nilai.

Rumus array juga menawarkan keunggulan ini:

  • Konsistensi: Jika Anda mengklik salah satu sel dari E2 ke bawah, Anda melihat rumus yang sama. Konsistensi itu dapat membantu memastikan akurasi yang lebih besar.

  • Keamanan: Anda tidak dapat menimpa komponen rumus array multi-sel. Misalnya, klik sel E3 dan tekan Hapus. Anda harus memilih seluruh rentang sel (E2 hingga E11) dan mengubah rumus untuk seluruh array, atau membiarkan array seperti apa adanya. Sebagai tindakan keamanan tambahan, Anda harus menekan Ctrl+ Shift+ Enteruntuk mengkonfirmasi perubahan pada rumus.

  • Ukuran file yang lebih kecil: Anda sering dapat menggunakan rumus array tunggal alih-alih beberapa formula perantara. Misalnya, buku kerja menggunakan satu rumus array untuk menghitung hasil di kolom E. Jika Anda menggunakan rumus standar (seperti = C2 * D2, C3 * D3, C4 * D4 ...), Anda akan menggunakan 11 rumus berbeda untuk menghitung hasil yang sama.

Ini juga lebih cepat karena pola akses sudah diketahui. Sekarang alih-alih melakukan 11 perhitungan yang berbeda secara terpisah, ini dapat di-vektor dan dilakukan secara paralel, menggunakan beberapa core dan unit SIMD di CPU

phuclv
sumber
7
Namun, perlu diketahui bahwa fungsi array sangat rapuh. Jika Anda menyalin dan menempelkannya, misalnya, segalanya dapat rusak sangat parah. Seringkali, mereka tidak akan diperbarui dengan benar tanpa pembaruan paksa jika mereka sangat besar. Hebat, fitur yang kuat, tetapi tetap dibandingkan dengan formula biasa.
JKreft
3
@StianYttervik: Saya pikir jawabannya bermanfaat. Bagaimana jika seseorang membuka lembaran dengan formula seperti ini dan belum pernah melihatnya sebelumnya? Jawaban ini akan sangat membantu bagi para pengguna tersebut.
Bad_Bishop
3
@StianYttervik formula array adalah alat yang ampuh di tangan yang benar. Sama sekali tidak lambat , karena lebih mudah dioptimalkan dan di-vektor-kan. Dan itu menghemat memori. Bahkan google docs mendukungnya. Dan jangan balas ini. Saya tidak akan menanggapi lebih jauh
phuclv
2
@StianYttervik Fungsi-fungsi tertentu (misalnya MOD) akan menyebabkan SUMPRODUCTrusak, dan kemudian Anda harus menggantinya dengan rumus Array. Belum lagi setiap versi Office yang dirilis telah lebih sering menggunakan Rumus Array yang ditambahkan sebagai fungsi resmi (misalnya MAXIFSpada 365) Jika rumus array Anda lambat, kikuk, dan pecah, Anda mungkin perlu mengoptimalkan kode Anda. Dan, tentu saja - karena PowerQuery adalah Ekstensi Tambahan Tambahan, banyak Perusahaan akan (karena berbagai alasan) tidak memasukkannya ke dalam paket pengembangan Korporat mereka, menjadikannya solusi yang lebih rendah untuk keperluan Bisnis yang didistribusikan.
Chronocidal
1
@ Chronocidal Ya, ada beberapa kasus, tetapi hanya sedikit ... Dan kemudian pertanyaan daya adalah solusinya. Atau model data. Atau fungsi Cube. Atau semua yang di atas. Array dan perhitungan / eksekusi baris demi baris tidak dapat diukur.
Stian Yttervik
7

Pendekatan lain adalah dengan memasukkan A7 ekspresi = A1 * A6 dan salin ke kanan sejauh yang Anda inginkan, kemudian jumlah baris $ 7 $ untuk mendapatkan jawaban akhir. Itu tidak melakukannya dalam satu sel seperti yang Anda inginkan, tetapi kadang-kadang memiliki produk perantara berguna. Saya telah menggunakan kedua versi. Yang ini terasa lebih Excel-ish bagi saya, tetapi selera Anda mungkin berbeda.

Ross Millikan
sumber
1

jika Anda meletakkan daftar angka dalam kolom alih-alih baris (katakanlah dua kolom A dan B), Anda dapat menggunakan fungsi = Sumproduct (A: A, B: B) seperti itu. itu akan memberi Anda produk nomor sebanyak yang ada di kolom A dan B.

Anda dapat menggunakan kolom sebanyak mungkin dalam fungsi Sumproduct yang Anda butuhkan

AjayC
sumber
2
Sumproduct (1: 1,2: 2) bekerja dengan cara yang sama untuk baris juga.
Máté Juhász
0

Jika tidak ada yang lain di baris 1 dan 6 selain dari yang Anda inginkan SUMPRODUCT(), Anda dapat menggunakan ide yang disebutkan dalam komentar ini . Dalam kasus Anda sebagaimana diuraikan dalam pertanyaan Anda, Anda akan menggunakan=SUMPRODUCT(1:1,6:6)

Chris Rogers
sumber
4
Ini tidak benar-benar memberikan informasi tambahan di atas apa yang sudah dimasukkan dalam jawaban dan komentar.
Máté Juhász
1
@ MátéJuhász - Jawaban apa yang memberikan jawaban saya? Komentar Anda untuk jawaban yang diberikan oleh @AjayC memberi SUMPRODUCT(1:1,2:2)dan saya memberikan jawaban berdasarkan komentar yang menguraikan bagaimana itu dapat digunakan berdasarkan pertanyaan awal dan apa batasannya.
Chris Rogers