Di Excel, bagaimana cara memeriksa apakah sel ada dalam daftar nilai (rentang sel)

88

Saya memiliki rentang (A3: A10) yang berisi nama, dan saya ingin memeriksa apakah konten sel lain (D1) cocok dengan salah satu nama dalam daftar saya.

Saya telah menamai rentang A3: A10 'some_names', dan saya ingin formula excel yang akan memberi saya Benar / Salah atau 1/0 tergantung pada isinya.

joseph.hainline
sumber

Jawaban:

92

= COUNTIF (some_names, D1)

harus berfungsi (1 jika nama ada - lebih jika lebih dari satu contoh).

kacang
sumber
bagaimana saya bisa memodifikasi rumus sehingga berfungsi dalam kasus di mana some_namesmengandung 2 kolom, dan juga bukannya D1 saya punya D1: E1?
user1993
66

Jawaban pilihan saya (dimodifikasi dari Ian's) adalah:

=COUNTIF(some_names,D1)>0

yang mengembalikan TRUE jika D1 ditemukan dalam kisaran some_names setidaknya sekali, atau FALSE sebaliknya.

(COUNTIF mengembalikan bilangan bulat berapa kali kriteria ditemukan dalam rentang)

joseph.hainline
sumber
26

Saya tahu OP secara khusus menyatakan bahwa daftar tersebut berasal dari berbagai sel, tetapi orang lain mungkin menemukan ini sambil mencari kisaran nilai tertentu.

Anda juga dapat melihat nilai-nilai spesifik, daripada rentang menggunakan MATCHfungsi. Ini akan memberi Anda nomor tempat ini cocok (dalam hal ini, tempat kedua, jadi 2). Ini akan mengembalikan # N / A jika tidak ada kecocokan.

=MATCH(4,{2,4,6,8},0)

Anda juga bisa mengganti empat yang pertama dengan sel. Masukkan 4 di sel A1 dan ketik ini ke sel lain.

=MATCH(A1,{2,4,6,8},0)
RPh_Coder
sumber
1
Sangat bagus. Jangan lupa untuk menambahkan "tanda kutip" jika nilai Anda bukan angka (butuh saya beberapa pasangan untuk mencoba mengatasinya).
dav
1
Sayangnya Anda tidak dapat menggunakan ini dalam pemformatan bersyarat :(
StarWeaver
Tentu kamu bisa. Dengan Excel 2007 dan yang lebih baru, Anda dapat menggunakan fungsi IFERROR. = IFERROR (MATCH (A1, {2,4,6,8}, 0), 0) Kemudian, Anda dapat melakukan pemformatan bersyarat pada apakah sel itu = 0 atau> 0, mana yang Anda inginkan.
RPh_Coder
6
=OR(4={2,4,6,8})
Slai
Jawaban ini jelas bahwa solusinya mengembalikan # N / A - itu benar. Tapi sepertinya tidak membantu: Anda tidak bisa menggunakan # N / A dalam klausa if, jadi Anda tidak bisa mengatakan JIKA (MATCH (4 {2,3}, 0), "yay", "boo") ... jawabannya adalah # N / A bukan "boo"
GreenAsJade
18

Jika Anda ingin mengubah countif menjadi beberapa output lain (seperti boolean) Anda juga bisa melakukan:

= JIKA (COUNTIF (some_names, D1)> 0, BENAR, SALAH)

Nikmati!

Ian McClellan
sumber
3
Bantuan TRUE dan FALSE menunjukkan apa yang perlu diganti
Darcys22
8

Untuk variasi Anda dapat menggunakan MATCH, mis

=ISNUMBER(MATCH(D1,A3:A10,0))

barry houdini
sumber
4

ada sedikit trik bagus mengembalikan Boolean dalam kisaran kasus yang some_namesdapat ditentukan secara eksplisit seperti di "purple","red","blue","green","orange":

=OR("Red"={"purple","red","blue","green","orange"})

Perhatikan ini BUKAN formula array

Vrun
sumber
Sebenarnya, ini adalah formula array. Apa yang bukan adalah array yang dimasukkan formula ;-)
robinCTS
2

Anda dapat sarang --([range]=[cell])dalam IF, SUMIFSatau COUNTIFSargumen. Sebagai contoh IF(--($N$2:$N$23=D2),"in the list!","not in the list"),. Saya percaya ini mungkin menggunakan memori lebih efisien.

Atau, Anda dapat mengapit ISERRORsekitar VLOOKUP, semua dibungkus di sekitar IFpernyataan. Seperti IF( ISERROR ( VLOOKUP() ) , "not in the list" , "in the list!" ),.

John Skilbeck
sumber
0

Array versi Formula (masuk dengan Ctrl + Shift + Enter):

=OR(A3:A10=D1)
Slai
sumber
Ini bekerja. Saya pikir itu mendapat downvote karena downvoter tidak tahu cara memasukkan rumus array ... seharusnya terlihat seperti {= OR (R34: R36 = T34)} setelah dimasukkan, jika Anda memasukkannya dengan benar
GreenAsJade
-1

Dalam situasi seperti ini, saya hanya ingin waspada terhadap kemungkinan kesalahan, jadi saya akan menyelesaikan situasi dengan cara ini ...

=if(countif(some_names,D1)>0,"","MISSING")

Lalu saya akan menyalin formula ini dari E1ke E100. Jika nilai dalam Dkolom tidak ada dalam daftar, saya akan mendapatkan pesan MISSING tetapi jika nilainya ada, saya mendapatkan sel kosong. Itu membuat nilai-nilai yang hilang jauh lebih menonjol.

Penangkapan
sumber