Saya perlu mengembalikan sel kosong dari rumus Excel, tetapi tampaknya Excel memperlakukan string kosong atau referensi ke sel kosong berbeda dari sel kosong sejati. Jadi intinya aku butuh sesuatu
=IF(some_condition,EMPTY(),some_value)
Saya mencoba melakukan hal-hal seperti
=IF(some_condition,"",some_value)
dan
=IF(some_condition,,some_value)
dan dengan asumsi B1 adalah sel kosong
=IF(some_condition,B1,some_value)
tetapi tidak satupun dari ini yang tampak sebagai sel kosong yang sebenarnya, saya menduga karena mereka adalah hasil dari formula. Apakah ada cara untuk mengisi sel jika dan hanya jika suatu kondisi terpenuhi dan sebaliknya membiarkan sel benar-benar kosong?
EDIT: seperti yang disarankan, saya mencoba mengembalikan NA (), tetapi untuk tujuan saya ini juga tidak berhasil. Apakah ada cara untuk melakukan ini dengan VB?
EDIT: Saya sedang membangun lembar kerja yang menarik data dari lembar kerja lain yang diformat dengan tuntutan yang sangat spesifik dari aplikasi yang mengimpor data ke dalam database. Saya tidak memiliki akses untuk mengubah implementasi aplikasi ini, dan gagal jika nilainya "" bukannya benar-benar kosong.
sumber
Jawaban:
Anda harus menggunakannya
VBA
, kalau begitu. Anda akan beralih di sel dalam rentang Anda, menguji kondisi, dan menghapus konten jika cocok.Sesuatu seperti:
sumber
VbNullString
Excel tidak memiliki cara untuk melakukan ini.
Hasil rumus dalam sel di Excel harus berupa angka, teks, logis (boolean) atau kesalahan. Tidak ada tipe nilai sel rumus "kosong" atau "kosong".
Salah satu praktik yang saya lihat diikuti adalah menggunakan NA () dan ISNA (), tetapi itu mungkin atau mungkin tidak benar-benar menyelesaikan masalah Anda karena ada perbedaan besar dalam cara NA () diperlakukan oleh fungsi lain (SUM (NA ( )) adalah # N / A sedangkan SUM (A1) adalah 0 jika A1 kosong).
sumber
Ya itu mungkin.
Dimungkinkan untuk memiliki formula pemusnahan yang mengevaluasi ke trueblank jika kondisi terpenuhi. Itu melewati ujian
ISBLANK
formula.Yang Anda butuhkan hanyalah menyiapkan rentang bernama, katakanlah
GetTrueBlank
, dan Anda akan dapat menggunakan pola berikut seperti dalam pertanyaan Anda:Langkah 1. Masukkan kode ini dalam Modul VBA.
Langkah 2. Di
Sheet1
dalamA1
sel tambahkan rentang bernamaGetTrueBlank
dengan rumus berikut:Itu dia. Tidak ada langkah lebih lanjut. Cukup gunakan formula pemusnahan diri. Masukkan ke dalam sel, katakanlah
B2
, rumus berikut:Rumus di atas
B2
akan dievaluasi menjadi trueblank, jika Anda mengetikkan 0 inA2
.Anda dapat mengunduh file demonstrasi di sini .
Pada contoh di atas, mengevaluasi rumus untuk menghasilkan trueblank di sel kosong. Memeriksa hasil dengan
ISBLANK
hasil rumus positif di TRUE. Ini adalah formula seperti hara-kiri. Formula menghilang dari sel ketika kondisi terpenuhi. Tujuan tercapai, meskipun Anda mungkin ingin agar formula tidak hilang.Anda dapat memodifikasi rumus untuk mengembalikan hasil dalam sel yang berdekatan, sehingga rumus itu tidak akan mematikan dirinya sendiri. Lihat cara mendapatkan hasil UDF di sel yang berdekatan .
Saya telah menemukan contoh mendapatkan trueblank sebagai hasil rumus yang diungkapkan oleh The FrankensTeam di sini: https://sites.google.com/site/e90e50/excel-formula-to-change-the-value-of-another- sel
sumber
Mungkin ini curang, tapi berhasil!
Saya juga membutuhkan tabel yang merupakan sumber untuk grafik, dan saya tidak ingin ada sel kosong atau nol untuk menghasilkan titik pada grafik. Memang benar bahwa Anda perlu mengatur properti grafik, pilih data, sel tersembunyi dan kosong untuk "menunjukkan sel kosong sebagai Kesenjangan" (klik tombol radio). Itu langkah pertama.
Kemudian di sel yang mungkin berakhir dengan hasil yang Anda tidak ingin diplot, letakkan rumus dalam pernyataan IF dengan
NA()
hasil seperti=IF($A8>TODAY(),NA(), *formula to be plotted*)
Ini memang memberikan grafik yang diperlukan tanpa poin ketika nilai sel tidak valid terjadi. Tentu saja ini meninggalkan semua sel dengan nilai yang tidak valid untuk dibaca
#N/A
, dan itu berantakan.Untuk membersihkan ini, pilih sel yang mungkin berisi nilai tidak valid, lalu pilih pemformatan bersyarat - aturan baru. Pilih 'format hanya sel yang berisi' dan di bawah deskripsi aturan pilih 'kesalahan' dari kotak drop down. Kemudian di bawah format pilih font - warna - putih (atau apa pun warna latar belakang Anda kebetulan). Klik berbagai tombol untuk keluar dan Anda akan melihat bahwa sel dengan data tidak valid terlihat kosong (sebenarnya berisi
#N/A
teks putih pada latar belakang putih terlihat kosong.) Kemudian grafik yang ditautkan juga tidak menampilkan titik nilai yang tidak valid.sumber
Ini adalah bagaimana saya melakukannya untuk dataset yang saya gunakan. Tampaknya berbelit-belit dan bodoh, tetapi itu adalah satu-satunya alternatif untuk belajar bagaimana menggunakan solusi VB yang disebutkan di atas.
q
karena tidak ada di lembar data saya.q
tanpa apa-apa.Proses tiga langkah ini mengubah semua sel "kosong" menjadi "sel kosong". Saya mencoba menggabungkan langkah 2 & 3 dengan hanya mengganti sel kosong dengan sel kosong, tetapi itu tidak berhasil - saya harus mengganti sel kosong dengan beberapa jenis teks aktual, lalu ganti teks itu dengan sel kosong.
sumber
Jika tujuannya adalah untuk dapat menampilkan sel sebagai kosong padahal sebenarnya memiliki nilai nol, maka alih-alih menggunakan rumus yang menghasilkan sel kosong atau kosong (karena tidak ada
empty()
fungsi) sebagai gantinya,di mana Anda ingin sel kosong, kembalikan
0
bukan""
dan LALUatur format angka untuk sel-sel seperti itu, di mana Anda harus menemukan apa yang Anda inginkan untuk angka positif dan negatif (dua item pertama dipisahkan oleh semi-titik dua). Dalam kasus saya, angka yang saya miliki adalah 0, 1, 2 ... dan saya ingin 0 muncul kosong. (Saya tidak pernah mencari tahu untuk apa parameter teks digunakan, tetapi sepertinya diperlukan).
sumber
Coba evaluasi sel menggunakan
LEN
. Jika mengandung formulaLEN
akan kembali0
. Jika mengandung teks, ia akan menghasilkan lebih dari0
.sumber
""
kosong.LEN(cell)>0
mengembalikan true jika ada angka (termasuk nol, dan termasuk jika angka dihitung dengan rumus), dan false jika string kosong atau kosong.Wow, banyak orang yang salah membaca pertanyaan. Sangat mudah untuk membuat sel terlihat kosong. Masalahnya adalah bahwa jika Anda membutuhkan sel kosong, rumus Excel tidak dapat mengembalikan "tidak ada nilai" tetapi hanya bisa mengembalikan nilai. Mengembalikan nol, spasi, atau bahkan "" adalah sebuah nilai.
Jadi Anda harus mengembalikan "nilai ajaib" dan kemudian menggantinya dengan tidak ada nilai menggunakan pencarian dan ganti, atau menggunakan skrip VBA. Meskipun Anda dapat menggunakan spasi atau "", saran saya adalah menggunakan nilai yang jelas, seperti "NODATE" atau "NONUMBER" atau "XXXXX" sehingga Anda dapat dengan mudah melihat di mana itu terjadi - cukup sulit untuk menemukan "" dalam spreadsheet.
sumber
Gunakan
COUNTBLANK(B1)>0
alih-alihISBLANK(B1)
di dalamIF
pernyataan Anda .Tidak seperti itu
ISBLANK()
,COUNTBLANK()
anggap""
kosong dan kembalikan 1.sumber
Begitu banyak jawaban yang mengembalikan nilai yang tampak kosong tetapi sebenarnya bukan sel kosong seperti yang diminta ...
Seperti yang diminta, jika Anda benar-benar menginginkan formula yang mengembalikan sel kosong. Itu mungkin melalui VBA. Jadi, inilah kode untuk melakukan hal itu. Mulailah dengan menulis rumus untuk mengembalikan kesalahan # N / A di mana pun Anda ingin selnya kosong. Maka solusi saya secara otomatis membersihkan semua sel yang mengandung kesalahan # N / A itu. Tentu saja Anda dapat memodifikasi kode untuk secara otomatis menghapus konten sel berdasarkan apa pun yang Anda suka.
Buka "visual basic viewer" (Alt + F11) Temukan buku kerja yang menarik di penjelajah proyek dan klik dua kali (atau klik kanan dan pilih kode tampilan). Ini akan membuka jendela "kode tampilan". Pilih "Buku Kerja" di menu dropdown (Umum) dan "SheetCalculate" di menu dropdown (Deklarasi).
Rekatkan kode berikut (berdasarkan jawaban oleh JT Grimes) di dalam fungsi Workbook_SheetCalculate
Simpan file Anda sebagai buku kerja berkemampuan makro
NB: Proses ini seperti pisau bedah. Ini akan menghapus seluruh konten sel yang mengevaluasi kesalahan # N / A jadi waspadai. Mereka akan pergi dan Anda tidak bisa mendapatkannya kembali tanpa memasukkan kembali formula yang mereka gunakan sebelumnya.
NB2: Jelas Anda harus mengaktifkan makro ketika Anda membuka file yang lain itu tidak akan berfungsi dan # N / A kesalahan akan tetap terhapus
sumber
Jawaban ini tidak sepenuhnya berurusan dengan OP, tetapi ada beberapa kali saya memiliki masalah yang sama dan mencari jawabannya.
Jika Anda dapat membuat ulang rumus atau data jika diperlukan (dan dari uraian Anda tampaknya seolah-olah bisa), maka ketika Anda siap untuk menjalankan bagian yang membutuhkan sel kosong untuk benar - benar kosong , maka Anda dapat memilih wilayah dan jalankan vba macro berikut.
ini akan menghapus konten sel mana pun yang saat ini menunjukkan
""
atau hanya memiliki formulasumber
Apa yang saya gunakan adalah hack kecil. Saya menggunakan T (1), yang mengembalikan sel kosong. T adalah fungsi dalam excel yang mengembalikan argumennya jika string dan sel kosong sebaliknya. Jadi, yang bisa Anda lakukan adalah:
sumber
Saya menggunakan pekerjaan berikut ini untuk membuat excel saya terlihat lebih bersih:
Ketika Anda membuat perhitungan, "" akan memberi Anda kesalahan sehingga Anda ingin memperlakukannya sebagai angka, jadi saya menggunakan pernyataan bersarang jika mengembalikan 0 istead dari "", dan kemudian jika hasilnya 0 persamaan ini akan kembali ""
Dengan cara ini lembar excel akan terlihat bersih ...
sumber
Jika Anda menggunakan fungsi pencarian seperti HLOOKUP dan VLOOKUP untuk membawa data ke lembar kerja Anda tempatkan fungsi di dalam tanda kurung dan fungsi akan mengembalikan sel kosong alih-alih {0}. Sebagai contoh,
Ini akan mengembalikan nilai nol jika sel pencarian kosong:
Ini akan mengembalikan sel kosong jika sel pencarian kosong:
Saya tidak tahu apakah ini berfungsi dengan fungsi lain ... Saya belum mencoba. Saya menggunakan Excel 2007 untuk mencapai ini.
Edit
Untuk benar-benar mendapatkan IF (A1 = "",,) untuk kembali karena benar perlu ada dua pencarian di sel yang sama dipisahkan oleh &. Cara mudah untuk melakukannya adalah dengan membuat sel pencarian kedua yang ada di akhir baris dan akan selalu kosong.
sumber
Sejauh ini ini yang terbaik yang bisa saya lakukan.
Ini menggunakan
ISBLANK
fungsi untuk memeriksa apakah sel benar-benar kosong dalamIF
pernyataan. Jika ada sesuatu di dalam sel,A1
dalam contoh ini, bahkan karakter SPACE,maka sel tidak
EMPTY
dan perhitungan akan menghasilkan. Ini akan menjaga agar kesalahan penghitungan tidak muncul sampai Anda memiliki angka untuk dikerjakan.Jika sel tersebut
EMPTY
maka sel perhitungan tidak akan menampilkan kesalahan dari perhitungan. Jika sel tersebutNOT EMPTY
maka hasil perhitungan akan ditampilkan. Ini akan menimbulkan kesalahan jika data Anda buruk, yang ditakuti#DIV/0
!Ubah referensi dan formula sel sesuai kebutuhan.
sumber
Jawabannya positif - Anda tidak dapat menggunakan fungsi = IF () dan membiarkan sel kosong. "Terlihat kosong" tidak sama dengan kosong. Sayang dua tanda kutip kembali ke belakang tidak menghasilkan sel kosong tanpa memusnahkan rumus.
sumber
Google membawa saya ke sini dengan masalah yang sangat mirip, saya akhirnya menemukan solusi yang sesuai dengan kebutuhan saya, mungkin membantu orang lain juga ...
Saya menggunakan rumus ini:
sumber