Bagaimana cara menggunakan = VLOOKUP dalam kondisi ini?

0

Jadi saya tahu cara menggunakan = VLOOKUP ketika Anda mencari nilai tunggal dalam sel, tetapi saya tidak yakin bagaimana melakukannya ketika saya memiliki rentang, mis. katakanlah nilai sel adalah 1-5, selanjutnya adalah 5-10.

masukkan deskripsi gambar di sini

Ini adalah tabel yang saya miliki yang saya coba cari. Formula normal tidak akan bekerja untuk saya, saya hanya mendapatkan kesalahan # N / A. Apakah saya menggunakan fungsi pencarian yang salah?

Matt327
sumber
Jika Anda tahu Anda hanya memiliki bilangan bulat, Anda bisa membuat tabel pencarian Anda memiliki baris terpisah untuk 1, 2, 3, 4, 5, dll. . . case use Anda saat ini cukup kecil sehingga ini tidak akan terlalu sulit. . . ratusan catatan mungkin membuat ini lebih sulit
ernie
@ernie saya tahu, tapi saya harus seperti itu.
Matt327
Anda dapat membagi rentang Anda menjadi min / maks, dan kemudian menggunakan kolom min untuk mencocokkan. . . secara default, VLOOKUP akan mencari kecocokan persis, atau " nilai terbesar berikutnya yang kurang dari nilai lookup_value ". . . jika Anda membutuhkan sesuatu yang lain, Anda perlu mengklarifikasi pertanyaan Anda.
ernie
@ernie seperti yang saya katakan tidak bisa memformat ulang tabel pencarian. Apakah saya menggunakan fungsi yang salah?
Matt327
Jika Anda tidak dapat mengubah tabel pencarian sama sekali, dapatkah Anda menggunakan beberapa sel di bawah kendali Anda untuk merujuk ke sel "readonly" itu, dan kemudian memodifikasi sel baru Anda sehingga Anda dapat melakukan vlookup?
Kenneth L

Jawaban:

1

Dengan asumsi nilai pencarian Anda ada di I2:

=VLOOKUP(IF(I2<=5, "1-5", IF(I2<=10, "6-10", IF(I2<=20, "'11-20", "21 or more"))),B2:C5,2,TRUE)

Kecuali, di Excel saya, ia menolak untuk menganggap bahwa 11-20 sebagai teks, dan menyebutnya 'Tanggal Teks dengan tahun 2 digit'. Karena itu, rumus ini tidak berfungsi untuk 11-20. Saya akan meninggalkan solusi 90% kalau-kalau ada yang tahu perbaikan untuk masalah 'teks adalah tahun 2 digit'.

mcalex
sumber
Catatan, rumus ini berfungsi selama 11-20 jika Anda melakukan Data-> Teks ke Kolom dan memaksa kolom B sebagai teks yang benar-benar sederhana. Tidak ada cara untuk mengetahui apakah tangkapan layar OP benar-benar teks atau tidak.
Madball73
Hah. Saya mencobanya tanpa sukacita. akan mencobanya lagi besok
mcalex
0

Ini akan berfungsi, jika nomor yang Anda cari ada di sel C1dan meja Anda mulai masukA1

=VLOOKUP(IF(C1>20,"21 or more",IF(C1>10,"11-20",IF(C1>5,"6-10",IF(C1>0,"1-5",0)))),$A$1:$B$4,2,0)

Anda mengumpulkan ifs dari terbesar ke terkecil untuk menangkap dengan jumlah tes paling sedikit, kemudian menetapkan teks untuk vlookup.

Raystafarian
sumber
0

Jika Anda benar-benar perlu melakukan ini, saya akan menambahkan kolom untuk min, berdasarkan pada rentang, misalnya:

=IF(SEARCH(" ", A3), LEFT(A3,SEARCH(" ",A3)-1), LEFT(A3,SEARCH("-",A3)-1))

Kemudian Anda dapat menggunakan vlookup berdasarkan kolom minimum baru karena VLOOKUP secara default akan mencari kecocokan persis, atau "nilai terbesar berikutnya yang kurang dari nilai lookup_value"

Jawaban lain dengan multiple IF bersarang () cocok dengan kriteria Anda juga, tetapi jika tugasnya benar-benar muncul dengan sesuatu seperti itu, maka itu mengajarkan beberapa ide yang sangat buruk.

Menggunakan sekelompok pernyataan IF () bersarang, lalu mengumpankannya ke VLOOKUP () berbelit-belit dan tidak masuk akal. Anda telah mengkodekan keras batas ke dalam rumus, dan VLOOKUP () hampir tidak menambahkan apa-apa (substitusi nilai dapat terjadi tepat di level IF ()).

ernie
sumber