[英]If Statement Nested with a Vlookup in Google Sheets
我在Vlookup
for Google表格的If
語句中苦苦掙扎。
當前公式:
=IfError(ARRAYFORMULA(if(len($A3:$A),VLOOKUP($A3:$A,
{'Form responses 3'!$E2:$E,'Form responses 3'!$G2:$G},2,0),)))
因此,上面的操作是在另一張紙上尋找A3:A
的值,如果E:E
存在匹配項,則在第二列或G:G
返回該值。
上式的問題是,在A3:A
中只能有一個唯一值(例如1-36),但是G2:G
出現一個問題,即多次重復具有相同的次數,而Vlookup
只接受匹配的第一個值。
因此,我試圖通過要求上面的公式在給我一個值之前先檢查另一個唯一值來擴展上面的公式。 因此,下面的公式:
=IfError(ARRAYFORMULA(If('Form responses 3'!D:D=3,,
if(len($A3:$A),VLOOKUP($A3:$A,{'Form responses 3'!$E2:$E,'
Form responses 3'!$G2:$G},2,0),))))
因此,現在要嘗試執行的操作是先檢查if D:D =3
,然后僅在IF D:D is 3
執行上述VLookup
(在此示例中)。
我顯然沒有正確地進行If lookup for =3
,因為當我將第二個公式輸入到單元格中時,我仍然得到第一個匹配的值,並且沒有考慮先查找3。
如果有人想在所有上下文中查看該公式,我將很樂意與您分享這張表。
公式的主要問題:
=IfError(ARRAYFORMULA(If('Form responses 3'!D:D=3,,
if(len($A3:$A),VLOOKUP($A3:$A,{'Form responses 3'!$E2:$E,'
Form responses 3'!$G2:$G},2,0),))))
是VLOOKUP()
只能有一個搜索條件。 您正在嘗試通過在VLOOKUP()
添加IF()
語句來模擬多個條件。 在某些情況下,您可能可以取得結果,但最終會得出難以理解且難以調試的公式。
而是使用可以具有多個條件的QUERY()
函數。 QUERY()
更加靈活,允許多個搜索條件。
它的語法為QUERY(range, select statement, [headers])
這是一個示例,該示例在示例表中給出了正確的87值。
=query('Form responses 3'!$A$2:$G$6,"select G where D="&B$1&" and E = "&A3&"",0)
說明:
Form responses 3'!$A$2:$G$6
---選擇范圍
"select G
---從范圍內匹配的行中"select G
列
where D="&B$1&
” ---條件以匹配區域D中的列D到單元格B1
and
---符合邏輯and
遵循其他准則
'E =“&A3&”“-匹配范圍E到單元格A3的條件
我強烈建議學習QUERY
和各種select
語句的所有可能性。
我在此處的鏈接表中添加了一個額外的sheet8
以顯示實際的查詢。 上面的公式在單元格E3
,並按預期提供值87
。
https://docs.google.com/spreadsheets/d/1xo8edBZQ5bJXUqqGxqPMZeyrdAQgIFZzkgv7Dct1g0A/edit?usp=sharing
注意:如果您不熟悉QUERY,建議您先做一個教程並學習其語法。 上面的示例開始時有點先進(即從一張紙中進行選擇,基於另一張紙中的單元格值)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.