Menggunakan pernyataan IF dan ISBLANK untuk menentukan rentang sel jika salah satu dari mereka memiliki informasi di dalamnya


10

Saya memiliki rumus di mana saya memeriksa berbagai sel apakah mereka kosong atau tidak.

Jika semuanya kosong, saya ingin mengembalikan yang kosong.

Jika salah satu sel dalam rentang tidak kosong, saya ingin mengembalikan nilai Major Milestone Due.

Berikut ini rumus yang saya miliki:

=IF(ISBLANK(BM2:BQ2),"","Major Milestone Due")

Ini mengembalikan semuanya sebagai Major Milestone Due, bahkan jika ada rentang baris tertentu dengan semua sel kosong.

Jawaban:


16

COUNTAakan memberikan jumlah sel dalam rentang yang tidak kosong .

Jadi coba ...

 =IF(NOT(COUNTA(BM2:BQ2)),"","Major Milestone Due")

Rumus dasar: NOT (COUNTA (BM2: BQ2)) berlaku dengan operator yang lebih logis, seperti: AND (COUNTA (BN2), NOT (COUNTA (BM2: BQ2)))
Rhak Kahr

9

Rumus Anda benar jika dimasukkan sebagai rumus array .

Tidak isblankberfungsi untuk array kecuali Anda memasukkannya sebagai rumus array dengan menggunakan ctrl+ shift+ enter. Ini akan terlihat seperti ini dengan memiliki kurung keriting di sekitarnya:

{=IF(ISBLANK(BM2:BQ2),"","Major Milestone Due")}

Juga, jika - counta akan melakukan ini tanpa masalah juga -

=IF(COUNTA(BM2:BQ2)=0,"","Major Milestone Due")


Rumus array tidak sepenuhnya benar. Versi ini hanya akan beralih dari TRUEke FALSEjika sel pertama dalam rentang berisi nilai. Untuk memeriksa semua sel dalam kisaran dengan benar, ANDperlu ditambahkan -{=IF(AND(ISBLANK(BM2:BQ2)),"","Major Milestone Due")}
Marcus Hughes

@MarcusHughes mengapa itu terjadi? Ini adalah formula array dan bekerja pada seluruh array
Raystafarian

Saya tidak tahu persis mengapa itu, tapi saya mengujinya (Excel 2010) dan tidak bekerja dengan adil ISBLANK. Coba masukkan rumus itu, biarkan sel pertama dalam rentang kosong, lalu masukkan data dalam sel nanti dalam rentang .... ISBLANKKondisi masih akan kembali TRUE. Hanya jika Anda memasukkan data ke sel pertama yang akan kembali FALSEdengan benar. Sekarang coba tambahkan AND. Jika ada sel dalam rentang mendapatkan data yang ditambahkan ke dalamnya, itu akan kembali FALSEsebagaimana mestinya. (Saya berasumsi ini bukan hanya suatu kebetulan aneh dengan 2010.)
Marcus Hughes

2

Satu hal penting untuk dipertimbangkan adalah definisi Anda tentang "kosong". Berdasarkan pada fakta bahwa Anda menggunakan kata-kata "Saya ingin mengembalikan yang lain kosong", akan terlihat bahwa Anda mendefinisikan "kosong" sebagai sel yang tampak kosong, tetapi yang sebenarnya mengandung rumus yang menghasilkan ""dan karenanya tidak kosong .

Metode COUNTAdan ISBLANKtidak akan berfungsi jika Anda ingin menangani sel-sel ini sebagai kosong, karena kedua rumus mencari sel yang benar-benar kosong . Untuk menangani formula yang menghasilkan "", Anda memiliki dua opsi:


  • Jika Anda selalu mengetahui ukuran rentang Anda, Anda dapat menggunakan salah satu dari berikut ini: di

    =IF( COUNTBLANK(BM2:BQ2)=5, "", "Major Milestone Due")
    =IF( COUNTIF(BM2:BQ2,"")=5, "", "Major Milestone Due")

    mana 5 adalah ukuran rentang Anda. Metode ini tidak berfungsi dengan baik dengan rentang dinamis.


  • Rumus yang sedikit lebih rumit (setidaknya, lebih rumit untuk dijelaskan!) Menggunakan SUMPRODUCT:

    =IF( SUMPRODUCT(--(BM2:BQ2<>""))=0, "", "Major Milestone Due")


(Catatan yang COUNTIF(BM2:BQ2,"<>")memiliki masalah yang sama dengan COUNTA.)


-1

Saya tiba di halaman ini untuk mencari jawaban atas pertanyaan yang hampir identik.

Ketika saya melihat COUNTAitu disebutkan, saya segera tahu apa yang harus dilakukan. Dalam konteks yang sedikit berbeda, saya memiliki rentang kolom di sebelah kiri kolom yang ingin saya katakan not startedjika semua sel di baris yang sama kosong (kosong).

Formula berikut ini berfungsi untuk saya.

=IF(COUNTA(P3:U3)=0,"Not Started"...)

Ellipsis menunjukkan bahwa ada beberapa IFfungsi tambahan dalam formula saya, yang melakukan pengujian lebih lanjut pada kisaran jika satu atau lebih diisi.


Selamat datang di Pengguna Super. Memperhatikan jawaban Anda menarik downvote. Alasan yang mungkin adalah bahwa kami berusaha menghindari duplikasi. Setiap jawaban dimaksudkan untuk memberikan solusi yang secara substansial berbeda dari apa yang telah dikontribusikan. Ini pada dasarnya menggandakan bagian kedua dari jawaban Raystafarian.
fixer1234

Jawaban saya seharusnya dimasukkan sebagai komentar.
David A. Gray
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.