COUNTIFS untuk banyak kriteria di beberapa lembar

1

Bantu teman-teman!

Saya mencoba membuat formula yang sangat singkat untuk menghitung banyak data di beberapa lembar.

Saya memiliki satu buku kerja di mana saya menyusun laporan kesalahan yang saya terima dari beberapa orang. Laporan kesalahan yang mereka kirim adalah yang mereka lihat dari 22 materi berbeda. Saya ingin mengelompokkan laporan kesalahan menurut bulan mulai dari Desember 2014 hingga Desember 2015.

Di setiap lembar, saya membuat kolom terpisah bernama "Status" untuk menunjukkan apakah masing-masing kesalahan yang dilaporkan telah "Diunggah," ada di "Siaga," adalah "Dikirim ke Penerjemah," dll. Dalam lembar terpisah, saya mendaftar nama-nama semua 22 materi di baris pertama, dan kemudian saya mencatat tanggal mingguan di kolom pertama.

Pada dasarnya, apa yang ingin saya lakukan adalah menghitung kesalahan di bawah bahan tertentu dari Desember 2014 hingga Desember 2015 jika dan hanya jika kesalahan berada di bawah "Status" tertentu dan kesalahan dikirim dalam jangka waktu tertentu (tanggal mingguan, mis. , Feb23-Maret1).

Sejauh ini, saya menggunakan rumus yang sangat panjang ini:

= COUNTIFS ('Desember 2014'! $ A: $ A, "> =" & $ A15, 'Desember 2014'! $ A: $ A, "<=" & $ B15, 'Desember 2014'! $ J: $ J, "Diterapkan", 'Desember 2014'! $ G: $ G, "=" & C $ 1) + COUNTIFS (Januari! $ A: $ A, "> =" & $ A15, Januari! $ A: $ A, "<=" & $ B15, Januari! $ J: $ J, "Diterapkan", Januari! $ G: $ G, "=" & C $ 1) + COUNTIFS (Februari! $ A: $ A, "> =" & $ A15, Februari! $ A: $ A, "<=" & $ B15, Februari! $ J: $ J, "Diterapkan", Februari! $ G: $ G, "=" & C $ 1) + COUNTIFS (Maret! $ A: $ A, "> =" & $ A15, Maret! $ A: $ A, "<=" & $ B15, Maret! $ J: $ J, "Diterapkan", Maret! $ G: $ G, "=" & C $ 1) + COUNTIFS ('Desember 2014'! $ A: $ A, "> =" & $ A15, 'Desember 2014'! $ A: $ A, "<=" & $ B15, 'Desember 2014 '! $ J: $ J, "Dikirim ke Penerjemah",' Desember 2014 '! $ G: $ G, "=" & C $ 1) + COUNTIFS (Januari! $ A: $ A, "> =" & $ A15, Januari! $ A: $ A, "<=" & $ B15, Januari! $ J: $ J, "Dikirim ke Penerjemah", Januari! $ G: $ G, "=" & C $ 1) + COUNTIFS (Februari ! $ A: $ A, "> =" & $ A15, Februari! $ A: $ A, "<=" & $ B15, Februari! $ J: $ J, "Dikirim ke Penerjemah", Februari! $ G: $ G, "=" & C $ 1) + COUNTIFS (Maret! $ A: $ A, "> =" & $ A15, Maret! $ A: $ A, "<=" & $ B15, Maret! $ J: $ J, "Dikirim ke Penerjemah", Maret! $ G: $ G, "=" & C $ 1) + COUNTIFS ('Desember 2014'! $ A: $ A, "> =" & $ A15, 'Desember 2014'! $ A: $ A, "<=" & $ B15, 'Desember 2014'! $ J: $ J, "Menunggu Pengunggahan", 'Desember 2014'! $ G: $ G,"=" & C $ 1) + COUNTIFS (Januari! $ A: $ A, "> =" & $ A15, Januari! $ A: $ A, "<=" & $ B15, Januari! $ J: $ J, " Menunggu Pengunggahan ", Januari! $ G: $ G," = "& C $ 1) + COUNTIFS (Februari! $ A: $ A,"> = "& $ A15, Februari! $ A: $ A," <= " & $ B15, Februari! $ J: $ J, "Menunggu Pengunggahan", Februari! $ G: $ G, "=" & C $ 1) + COUNTIFS (Maret! $ A: $ A, "> =" & $ A15 , Maret! $ A: $ A, "<=" & $ B15, Maret! $ J: $ J, "Menunggu Pengunggahan", Maret! $ G: $ G, "=" & C $ 1) + COUNTIFS ('Desember 2014 '! $ A: $ A, "> =" & $ A15,' Desember 2014 '! $ A: $ A, "<=" & $ B15,' Desember 2014 '! $ J: $ J, "Diunggah" , 'Desember 2014'! $ G: $ G, "=" & C $ 1) + COUNTIFS (Januari! $ A: $ A, "> =" & $ A15, Januari! $ A: $ A, "<= "& $ B15, Januari! $ J: $ J," Diunggah ", Januari! $ G: $ G," = "& C $ 1) + COUNTIFS (Februari! $ A: $ A,"> = "& $ A15 , Februari! $ A: $ A, "<=" & $ B15, Februari! $ J: $ J, "Diunggah", Februari! $ G: $ G, "=" & C $ 1) + COUNTIFS (Maret! $ A : $ A, "> =" & $ A15, Maret! $ A: $ A, "<=" & $ B15, Maret! $ J: $ J, "Diunggah", Maret! $ G: $ G, "= "& C $ 1) + COUNTIFS ('Desember 2014'! $ A: $ A,"> = "& $ A15, 'Desember 2014'! $ A: $ A," <= "& $ B15, 'Desember 2014'! $ J: $ J, "Audio", 'Desember 2014'! $ G: $ G, "=" & C $ 1) + COUNTIFS (Januari! $ A: $ A, "> =" & $ A15, Januari! $ A : $ A, "<=" & $ B15, Januari! $ J: $ J, "Audio", Januari! $ G: $ G, "=" & C $ 1) + COUNTIFS (Februari! $ A: $ A, " > = "& $ A15, Februari!$ A: $ A, "<=" & $ B15, Februari! $ J: $ J, "Audio", Februari! $ G: $ G, "=" & C $ 1) + COUNTIFS (Maret! $ A: $ A , "> =" & $ A15, Maret! $ A: $ A, "<=" & $ B15, Maret! $ J: $ J, "Audio", Maret! $ G: $ G, "=" & C $ 1 ) + COUNTIFS ('Desember 2014'! $ A: $ A, "> =" & $ A15, 'Desember 2014'! $ A: $ A, "<=" & $ B15, 'Desember 2014'! $ J: $ J, "Siaga", 'Desember 2014'! $ G: $ G, "=" & C $ 1) + COUNTIFS (Januari! $ A: $ A, "> =" & $ A15, Januari! $ A: $ A , "<=" & $ B15, Januari! $ J: $ J, "Siaga", Januari! $ G: $ G, "=" & C $ 1) + COUNTIFS (Februari! $ A: $ A, "> =" & $ A15, Februari! $ A: $ A, "<=" & $ B15, Februari! $ J: $ J, "Siaga", Februari! $ G: $ G, "=" & C $ 1) + COUNTIFS (Maret ! $ A: $ A, "> =" &$ A15, Maret! $ A: $ A, "<=" & $ B15, Maret! $ J: $ J, "Siaga", Maret! $ G: $ G, "=" & C $ 1)

Sejauh ini, hanya dari Desember 2014 hingga Maret 2015. Saya tidak bisa membayangkan sampai berapa lama setelah saya memasukkan bulan-bulan lainnya.

Apakah ada cara saya bisa membuat formula ini lebih pendek?

Terima kasih banyak sebelumnya! :)

phantomthief
sumber
kaus kaki aneh suci, itu adalah formula epik !
Ini. Saya hanya tidak ingin buku kerja tiba-tiba gagal bekerja atau "meledak" karena formula yang aneh ini.
phantomthief
Menurut file bantuan ( untuk Excel 2010 ) panjang maksimum rumus adalah 32.767 karakter (dalam pertanyaan ada 2749, sehingga Anda memiliki beberapa ruang tersisa) dan Excel memungkinkan untuk 64 level fungsi bersarang. Secara teknis, Anda tidak akan "meledak" Excel. ;-)
agtoever

Jawaban:

1

Saya pikir setidaknya ada dua opsi yang layak. Berdasarkan keadaan Anda, yang satu mungkin lebih cocok daripada yang lain. Saya akan memberi Anda dua opsi yang dapat saya pikirkan dan lihat apakah Anda dapat bekerja dari sana.

Opsi 1: Power Pivot
Microsoft Power Pivot memungkinkan Anda menggabungkan beberapa sumber data serupa dan membuat satu tabel pivot darinya. Jika Anda menambahkan setiap lembar kerja sebagai sumber data, dan menambahkannya ke data Anda, Anda bisa berputar dan memfilter sesuai dengan kriteria Anda.

Opsi 2: Gunakan INDIRECT
Anda dapat menggunakan INDIRECTfungsi untuk menerapkan kriteria Anda. Jika saya mengerti Anda dengan benar, saya akan membuat matriks, yang berisi bulan (nama lembar kerja) pada sumbu vertikal dan status (Diterapkan, Terkirim, Menunggu unggahan, ...) pada sumbu horizontal. Selanjutnya, Anda dapat mengisi matriks Anda dengan COUNTIFrumus Anda , menggunakan INDIRECTfungsi untuk referensi ke lembar kerja yang berbeda dan melamar status yang berbeda. Misalnya jika Anda memiliki "Desember 2014" di A2, INDIRECT("'"&A2&"'!$A:$A")akan merujuk 'December 2014'!$A:$A. Selanjutnya Anda cukup menambahkan nilai secara horizontal dan vertikal untuk membuat subtotal per status dan per bulan. Jumlah seluruh matriks adalah hasil yang Anda inginkan.


Sunting:
opsi 2 menjelaskan:
Seperti yang diminta oleh OP, berikut adalah penjelasan yang lebih mendalam tentang opsi kedua. Sebagai ilustrasi, saya akan memperkenalkan Anna, Ben dan Charles, yang mengikuti tiga kursus. Mereka mendapatkan beberapa nilai (mulai dari 1 hingga 10) untuk setiap kursus. Setiap nilai diperhitungkan untuk trimester tertentu. Lektor mata kuliah ingin membandingkan jumlah nilai yang cukup (> 5,5) untuk setiap siswa di setiap mata pelajaran untuk trimester pertama. Berikut adalah kursus yang berbeda (setiap kursus dalam lembar kerja terpisah, yang disebut "Course1", "Course2" dan "Course3".

Anna, Ben en Charles menilai

Mirip dengan masalah Anda, kami memiliki beberapa kriteria (> 5,5, trimester = 1, hitung untuk beberapa kursus serta beberapa siswa). Sel topleft di dalam matriks (Course1 x Anna, dalam lembar saya ini dalam B5) berisi rumus berikut:

=COUNTIFS(INDIRECT($A5&"!A:A");B$4;INDIRECT($A5&"!B:B");$C$2;INDIRECT($A5&"!C:C");$C$1)

Referensi sel:

  • A5 menunjuk ke sel yang berisi "Course1"
  • B4 menunjuk ke sel yang mengandung "Anna"
  • C2 menunjuk ke sel yang mengandung "1" (untuk trimester)
  • C1 menunjuk ke sel yang berisi "> 5,5" (untuk kelas)

Terjemahan untuk masalah Anda adalah sebagai berikut:

  • Kursus -> bulan
  • Nama siswa -> Status
  • Dan sisanya sepele

Pada dasarnya triknya adalah dengan mendaftar nama lembar dalam daftar dan menggunakannya bersama dengan INDIRECTfungsi untuk merujuk ke bulan yang berbeda. Jika Anda melakukan hal yang sama untuk status yang berbeda, Anda mendapatkan matriks. Hitung (menggunakan COUNTIFS) nilai yang ingin Anda hitung. Total keseluruhan dari nilai-nilai dalam matriks adalah jumlah total (dijumlahkan untuk bulan yang berbeda dan status berbeda) yang Anda cari.

Cara lain untuk menjelaskannya: alih-alih membuat sendiri formula yang rumit, coba biarkan Excel melakukan pekerjaan untuk Anda.

agtoever
sumber
Hai, agtoever! Terima kasih banyak telah meluangkan waktu untuk membaca kekhawatiran saya, dan untuk memberikan opsi ini. Saya sangat menghargai upaya Anda untuk melakukannya. Sayangnya, saya tidak memiliki Power Pivot yang diinstal di Excel 2010. Saya ingin tahu apakah saya dapat melakukan hal yang sama dengan Pivot Table. Juga, saya pikir fungsi INDIRECT akan sangat membantu saya. Namun, fungsi INDIRECT benar-benar baru bagi saya. Saya sedang meneliti bagaimana cara menggunakan fungsi ini. Saya benar-benar minta maaf jika saya terlalu lambat untuk menyerap ini. Namun demikian, saran Anda akan sangat membantu saya. ^ _ ^ Semoga harimu menyenangkan!
phantomthief
@ phantomthief Saya menambahkan penjelasan yang lebih rumit menggunakan contoh yang mirip dengan kasus Anda. Saya harap ini membantu menjelaskan apa yang ada dalam pikiran saya.
agtoever
Maaf atas tanggapan yang sangat terlambat. Saya mengistirahatkan masalah ini sebentar. Saya mencoba saran Anda. ^ _ ^ Ini membantu saya dan saya dapat memanfaatkan alat Excel lainnya juga untuk mencapai tujuan saya. Terima kasih banyak!
phantomthief