Dalam Google Spreadsheet: Bagaimana saya bisa menghitung baris area tertentu yang memiliki nilai? Semua petunjuk tentang ini saya temukan hingga sekarang mengarah ke rumus yang menghitung baris yang tidak mengandung konten kosong (termasuk rumus), tetapi sel dengan
=IF(1=2;"";"") // Shows an empty cell
dihitung juga.
Apa solusi untuk tugas sederhana ini?
Jawaban:
Buat kolom lain yang menentukan apakah sel yang direferensikan kosong menggunakan fungsi "CountBlank". Kemudian gunakan hitung pada nilai-nilai yang dibuat di kolom "CountBlank" yang baru.
sumber
Saya hanya menggunakan
=COUNTIF(Range, "<>")
dan menghitung sel yang tidak kosong untuk saya.sumber
=COUNTIF(Range,"?*")
counta
: "Mengembalikan hitungan jumlah nilai dalam dataset"Catatan:
CountA
anggap""
sebagai nilai . Hanya sel yang kosong (tekan delete dalam sel untuk mengosongkannya) tidak dihitung.Dukungan Google: https://support.google.com/docs/answer/3093991
countblank
: "Mengembalikan jumlah sel kosong dalam rentang yang diberikan"Catatan:
CountBlank
menganggap sel kosong (tekan hapus untuk mengosongkan sel) dan sel yang memiliki rumus yang kembali""
menjadi sel kosong .Dukungan Google: https://support.google.com/docs/answer/3093403
Jika Anda memiliki rentang yang menyertakan rumus yang menghasilkan
""
, maka Anda dapat mengubah rumus dariuntuk:
EDIT: fungsi ini
countblank
, bukancountblanks
, yang terakhir akan memberikan kesalahan.sumber
Inilah yang saya yakini sebagai solusi terbaik sejauh ini:
Inilah sebabnya dalam 3 langkah mudah
Langkah 1: Sederhana Sebagai Pai - Tambahkan Kolom Ekstra
The jawaban dengan eniacAvenger akan menghasilkan solusi yang tepat tanpa khawatir tentang kasus tepi sebagai
=A1<>""
tampaknya tiba di truthy / nilai falsy benar didasarkan pada bagaimana kita secara intuitif berpikir sel kosong, baik kosong perawan atau dibuat kosong.Jadi bayangkan kita memiliki data ini dan kami ingin Hitungan kosong di
B2:B6
:Jika kami mengandalkan Kolom C , kami bisa mendapatkan jumlah nilai dalam B seperti ini:
Langkah 2: Gunakan
FormulaArray
untuk secara dinamis membuat Kolom EkstraNamun, komentar consideRatio adalah komentar yang valid - jika Anda membutuhkan kolom tambahan, Anda sering dapat mencapai tujuan yang sama dengan
ArrayFormula
yang dapat membuat kolom dalam memori tanpa menghabiskan ruang lembar.Jadi jika kita ingin membuat C secara dinamis, kita bisa menggunakan rumus array seperti ini:
Jika kita cukup meletakkannya di C2, itu akan membuat array vertikal dengan satu goresan pena:
Langkah 3: Hitung Nilai dalam Kolom Dinamis
Tetapi dengan itu diselesaikan, kita tidak perlu lagi kolom untuk hanya menampilkan nilai.
ArrayFormula
akan memutuskan untuk berbagai berikut:{True,True,False,True,False}
.CountIf
hanya mengambil dalam kisaran apa pun dan dalam hal ini dapat menghitung jumlah nilai True.Jadi kita bisa membungkus
CountIf
nilai-nilai yang dihasilkan olehArrayFormula
seperti ini:Bacaan lebih lanjut
Solusi lain di utas ini terlalu rumit, atau gagal dalam kasus tepi tertentu yang telah saya sebutkan dalam lembar tes ini:
Google Spreadsheet - Uji CountA - Demo
Untuk alasan mengapa
CountA
bekerja dengan cara yang payah seperti itu, lihat jawaban saya di sinisumber
ArrayFormula(...)
untuk mengembalikan array nilai di dalamnyaCountIf
seperti yang Anda sarankan. Saya telah memperbarui jawabannya dan demo Spreadsheet. Mereka berdua akan melakukan hal yang sama, tetapi kebersihan ada di sebelahnya.Bagi saya, tidak ada jawaban yang berfungsi untuk rentang yang mencakup sel perawan dan sel yang kosong berdasarkan rumus (misalnya
=IF(1=2;"";"")
)Yang memecahkannya bagi saya adalah ini:
=COUNTA(FILTER(range, range <> ""))
sumber
Filter()
tidak menemukan elemen, itu akan mengembalikan#N/A
yangCOUNTA()
memperlakukan sebagai elemen dan akan selalu mengembalikan 1, bahkan jika hitungnya harus nol. Contoh di Google Sheets=COUNTA(filter({1;range},{1;range}<>"")) - 1
Dipecahkan menggunakan solusi yang saya temukan googling oleh Yogi Anand: https://productforums.google.com/d/msg/docs/3qsR2m-1Xx8/sSU6Z6NYLOcJ
Contoh di bawah ini menghitung jumlah baris tidak kosong dalam rentang A3: C, ingatlah untuk memperbarui kedua rentang dalam rumus dengan rentang minat Anda.
Pastikan juga untuk menghindari dependensi melingkar, itu akan terjadi jika Anda misalnya menghitung jumlah baris yang tidak kosong di A: C dan tempatkan rumus ini di kolom A atau C.
sumber
Ini bekerja untuk saya:
Hitung semua sel yang tidak kosong dari F2 hingga akhir kolom
sumber
Dengan kisaran tersebut
A:A
, Id menyarankan:Masalahnya adalah COUNTA menghitung secara persis dengan jumlah sel dengan string nol panjang
""
.Solusinya adalah menemukan jumlah sel-sel ini secara tepat. Ini dapat ditemukan dengan mencari semua sel teks dan mengurangi semua sel teks dengan setidaknya satu karakter
""
tetapi tidak termasuk sel yang benar-benar kosong""
tetapi tidak termasuk sel yang benar-benar kosongIni berarti bahwa nilainya
COUNTIF(A:A,"*")-COUNTIF(A:A,"?*")
harus berupa jumlah sel teks dikurangi jumlah sel teks yang memiliki setidaknya satu karakter, yaitu jumlah sel yang mengandung""
sumber
Solusi sederhana yang bekerja untuk saya:
Itu menghitung angka, string, tanggal, dll yang tidak kosong
sumber
Sejauh yang saya bisa lihat, sebagian besar solusi di sini menghitung jumlah sel yang tidak kosong, dan bukan jumlah baris dengan sel yang tidak kosong di dalamnya.
Salah satu solusi yang mungkin untuk rentang
B3:E29
tersebut misalnyaDi sini
ArrayFormula(IF(B3:B29&C3:C29&D3:D29&E3:E29="";0;1))
mengembalikan kolom0
(jika baris kosong) dan1
(lain).Satu lagi diberikan dalam jawaban consideRatio .
sumber
Anda dapat mendefinisikan fungsi khusus menggunakan Apps Script (Tools> Editor Script) yang dipanggil misalnya
numNonEmptyRows
:Dan kemudian menggunakannya dalam sel seperti ini
=numNonEmptyRows(A23:C25)
untuk menghitung jumlah baris yang tidak kosong dalam rentangA23:C25
;sumber
Di Google Sheets, untuk menghitung jumlah baris yang mengandung setidaknya satu sel tidak kosong dalam rentang dua dimensi :
Di mana A1: C5 adalah rentang yang Anda periksa untuk baris yang tidak kosong.
Rumus ini berasal dari, dan dijelaskan dalam artikel berikut dari EXCELXOR - https://excelxor.com/2015/03/30/counting-rows-where-at-least-one-condition-is-met/
sumber
Cara yang sangat fleksibel untuk melakukan hal-hal semacam itu adalah menggunakan ARRAYFORMULA.
Sebagai contoh bayangkan Anda ingin menghitung string yang tidak kosong (bidang teks) Anda dapat menggunakan kode ini:
Apa yang terjadi di sini adalah "ArrayFormula" memungkinkan Anda beroperasi di atas serangkaian nilai. Menggunakan fungsi SUM Anda menunjukkan "ArrayFormula" untuk menjumlahkan nilai set. Klausa "Jika" hanya digunakan untuk memeriksa "kosong" atau "tidak kosong", 1 untuk tidak kosong dan 0 sebaliknya. "Len" mengembalikan panjang bidang teks yang berbeda, ada tempat Anda menentukan set (rentang) yang ingin Anda periksa. Akhirnya "ArrayFormula" akan menjumlahkan 1 untuk setiap bidang di dalam set (kisaran) di mana "len" mengembalikan lebih dari 0.
Jika Anda ingin memeriksa kondisi lain, cukup modifikasi argumen pertama klausa IF.
sumber