Saya akan mencoba yang terbaik untuk menjelaskan. Katakanlah saya punya lembar yang terlihat seperti ini (dalam contoh yang dibuat-buat ini, katakanlah saya mengirim email pemasaran ke berbagai orang, saya tahu umur mereka dan kode pos, dan saya ingin melacak tingkat klik di email-email itu):
A | B | C
1 Age | zip code | click?
2 26 | 11111 | true
3 27 | 11112 | true
4 28 | 11111 | false
5 27 | 22222 | false
6 28 | 11112 | false
7 26 | 22222 | true
Sekarang saya ingin melacak berbagai statistik. Dalam hal ini, saya ingin melacak laju klik berdasarkan usia dan kode pos. Jadi saya punya tabel seperti ini:
E F G
1 Age | # sent | # clicked
2 26 |
3 26 |
4 27 |
5 28 |
Jadi pada dasarnya di kolom "# terkirim", saya dapat memasukkan (dalam F2, misalnya):
=COUNTIF(A:A, E2)
Dan ini akan menghasilkan 2 di sel F2, karena ada dua kemunculan "26" di kolom A.
Tetapi sekarang bagaimana jika saya ingin tahu berapa banyak yang diklik? Saya ingin mengatakan sesuatu seperti:
=COUNTIF(A:A == E2 AND C:C == True, for the same row where A:A matched E2)
Saya tahu saya dapat menambahkan kolom D lainnya dengan rumus seperti
=IF(C2, A2, "")
Yang hanya akan tetapi usia dalam kolom D jika kolom C benar. Tetapi saya dapat memiliki banyak kriteria dan sepertinya tidak perlu menambahkan kolom "palsu" untuk setiap kolom kriteria yang saya miliki.
Apakah ada cara untuk melakukan ini? Jika tidak di Google Documents, di Excel?
sumber
Jawaban:
Gunakan kombinasi operasi ARRAYFORMULA, SUM dan aritmatika
Inilah fungsi untuk menghitung semua klik pada usia 26 tahun:
Ada 3 bagian untuk operasi ini.
Pada dasarnya, true sedang dikonversi ke 1 dan false sedang dikonversi ke 0. Logika boolean dilakukan dengan menggunakan operasi aritmatika.
Sebuah DAN operasi menggunakan perkalian:
Sebuah OR operasi menggunakan kombinasi dari * SIGN fungsi dan penambahan:
Catatan: Fungsi tanda diperlukan karena cara penambahan boolean bekerja secara berbeda dari penambahan aritmatika. Pada dasarnya dalam penambahan boolean 1 + 1 = 1, dalam penambahan aritmatika 1 + 1 = 2. Jelas, penambahan aritmatika akan mengacaukan hitungan sehingga Anda perlu menjalankan hasil operasi penambahan melalui fungsi tanda. Fungsi tanda mengembalikan 1 jika nilainya positif, 0 jika nilainya 0, dan -1 jika nilainya negatif.
Katakanlah Anda ingin menghitung klik untuk semua pengguna yang berusia antara 20-25:
sumber
both
20 dan 23, misalnya jadi penambahan tidak akan pernah memberi Anda nilai> 1 dalam hal ini. MASUK hanya diperlukan jika kondisinya tidak saling eksklusif. Tidakkah antara 20 dan 25 lebih mudah dilakukan dengan versi ini?=arrayformula(sum((A:A>=20)*(A:A<=25)*(C:C=TRUE)))
Sampai sekarang, Google Sheets baru mendukung COUNTIFS, yang dapat langsung menangani pekerjaan yang diperlukan.
=COUNTIFS(A:A, E2, C:C, "true")
Sebutkan semua rentang dan perbandingan untuk dipisahkan dengan koma.
sumber
Di Excel saya akan menggunakan SUMPRODUCT di Excel 2003 atau COUNTIFS (dengan "S") di Excel 2007 atau yang lebih baru ....... tetapi di Google Docs coba ini
=arrayformula(sum((A:A=E2)*(C:C=TRUE)))
sumber
Ini untuk dua kolom - saya menggunakan ini untuk daftar tamu pernikahan saya - dalam hal ini, tabulasi "Ya" untuk mengirim tanggal simpan, dan "AS" untuk lokasi, sehingga saya dapat menghitung ongkos kirim nanti. Mungkin ada formula yang lebih pendek, tetapi ini tampaknya berhasil, jadi saya tidak mengacaukannya!
Selamat berhitung.
sumber
Di Excel, saya akan lupa rumus, dan menggunakan tabel Pivot.
Anda mungkin perlu menambahkan satu kolom "penghitung", yang dapat digunakan berulang kali sebagai variabel yang Anda jumlah untuk mendapatkan hasil.
sumber
Anda dapat menambahkan larik yang ingin Anda uji ke {}.
Dalam contoh di bawah ini:
sumber