Di Excel, dapatkah saya memberikan "nilai default" jika rumus saya mengembalikan #NA?

23

Sebagai contoh,

Katakanlah nilai sel adalah:

IF(ISNA(VLOOKUP(A3,somesheet!G:J,3,FALSE) * VLOOKUP(A3,someothersheet!A:D,4,FALSE)), 0, VLOOKUP(A3,somesheet!G:J,3,FALSE) * VLOOKUP(A3,someothersheet!A:D,4,FALSE))

Di sini, saya ingin produk dari dua VLOOKUP. Tetapi beberapa baris mungkin tidak ada di sana, sehingga bisa mengembalikan NA. Jika mengembalikan NA, masukkan nol di sel ini, tetapi jika tidak, saya ingin produk.

Kelihatannya konyol bahwa Anda harus memiliki seluruh ekspresi di sana dua kali. Apakah ada beberapa jalan pintas di mana saya dapat mengatakan "lakukan perhitungan ini, dan jika mengembalikan nilai, gunakan itu, tetapi sebaliknya gunakan beberapa nilai default?

Yer
sumber
Saya tidak yakin bagaimana melakukannya dengan benar tetapi lihat di sini mrexcel.com/td0110.html Contoh terakhir akan membantu
chmod
Formula Anda sempurna, saya tidak yakin pintasan apa yang Anda inginkan. Anda bisa mendefinisikan fungsi yang ditentukan pengguna tetapi itu hanya akan membuatnya lebih pendek, tidak lebih terlibat.
Raystafarian

Jawaban:

38

Jika Anda memiliki Excel 2007 atau versi yang lebih baru, Anda dapat menggunakan fungsi IFERROR untuk menghindari pengulangan

=IFERROR(VLOOKUP(A3,somesheet!G:J,3,FALSE)*VLOOKUP(A3,someothersheet!A:D,4,FALSE),0)

atau Anda dapat menggunakan solusi seperti ini di versi sebelumnya

=LOOKUP(9.9E+307,IF({1,0},0,VLOOKUP(A3,somesheet!G:J,3,FALSE)*VLOOKUP(A3,someothersheet!A:D,4,FALSE)))

barry houdini
sumber
Contoh pertama itulah yang saya cari. Terima kasih!
Yer
5

Mungkin lebih masuk akal bagi Anda jika Anda memeriksa nilai pencarian pertama untuk NA, dan kemudian memeriksa yang kedua, dan jika keduanya valid, maka gandakan.

=IF(OR(ISNA(VLOOKUP(A3,somesheet!G:J,3,FALSE)),ISNA(VLOOKUP(A3,somesheet!A:D,4,FALSE))), 0, VLOOKUP(A3,somesheet!G:J,3,FALSE) * VLOOKUP(A3,somesheet!A:D,4,FALSE))

Ini menambah lebih banyak kerumitan, tetapi mungkin tidak menyinggung perasaan programmer yang sensitif. ;-)

Nathan DeWitt
sumber