Sintaks FILTER (kondisi ATAU kondisi)?

32

Saya menggunakan FILTER()untuk menampilkan nilai dari Sheet 2 di mana Namekolom cocok.

Masalah saya adalah di mana saya inginkan:

=FILTER(Sheet2!A:F, Sheet2!A:A="Combat Medic" OR Sheet2!A:A="Universal")

karena ORmenghasilkan kesalahan.

Apa sintaks yang benar?
Haruskah saya menggunakan yang QUERY()bukan?

Rushmik
sumber
1
Anda mungkin juga menemukan ini berguna: Google Spreadsheets: Filter rentang dengan array
Vidar S. Ramdal

Jawaban:

43

Gunakan rumus berikut untuk mendapatkan kueri yang Anda inginkan.

Rumus

=FILTER(A:A;(A:A="Combat Medic")+(A:A="Universal"))

Dijelaskan

Dalam referensi dijelaskan oleh Ahab bahwa +dan *dapat digunakan sebagai ekspresi boolean, seperti ORdan AND.

Solusi dengan IFERROR(lihat riwayat revisi) tidak ada gunanya dalam kasus ini, kecuali jika Anda ingin menemukan string tertentu:

=FILTER(Sheet2!A:F;IFERROR(FIND("Combat";A:A);0) + IFERROR(FIND("Uni";A:A);0))

Di sini IFERRORmengembalikan 0ketika tidak ada yang ditemukan, menyebabkan rumus masih berfungsi.

Tangkapan layar

masukkan deskripsi gambar di sini

Contoh

Saya telah memodifikasi file contoh untuk berisi kedua solusi: Filter dengan Boolean

Referensi

Forum Produk Google, Ekspresi Boolean

Jacob Jan Tuinstra
sumber
Menarik! Bisakah Anda menguraikan cara IFERROR(...) + IFERROR(...) kerjanya?
Vidar S. Ramdal
dimanakah dokumentasi yang '+' dapat digunakan sebagai boolean OR?
Chris Morris
@JacobJanTuinstra Terima kasih Jacob. Apakah ada dokumentasi resmi?
Chris Morris
-1

=FILTER(A:F, REGEXMATCH(A:A, "Combat Medic|Universal"))

0


=QUERY(A:F, " where A matches 'Combat Medic|Universal'", 0)

0

pengguna0
sumber