2017-08-21 110 views
0

我想獲得一些代碼工作,但是當我將目標單元格更改爲單元格範圍時,我收到錯誤#VALUE!如果值匹配返回true

此代碼的工作

=IF(AND(A1=Sheet2!A2,B1=Sheet2!B2),"TRUE","FALSE") 

,但如果我添加了一個範圍,我得到#VALUE!錯誤

=IF(AND(A1=Sheet2!A2:A10,B1=Sheet2!B2:B10),"TRUE","FALSE") 

更新:這裏是什麼,我想實現

Example

任何幫助的例子將不勝感激 非常感謝, 而

+0

單元格如何具有與範圍相同的內容?該範圍內存儲了什麼?如果你想要的話,例如SUM使用那個函數作爲範圍。 – Doomenik

+0

A1是單元格值,但是Sheet2!A2:A10是一個範圍。所以他們不可能是平等的。 – macroland

+0

謝謝,所以A1 = NOW()(今天的日期)所以A2到A10將有A2 = 19-8-17,A3 = 20-8-17等,B1將在C1中有「ONCALL」,如果今天是日期在單元格A5和B5中包含「ONCALL」單元格C1將顯示ONCALL – Andy

回答

1

與您的邏輯陳述不同的方法。相反,它會查看您的表格,並將名稱與行和列與所選日期進行匹配,然後在該位置處拉取該值。

=INDEX($B$7:$G$8,MATCH($B3,$A$7:$A$8,0),MATCH(C$1,$B$6:$G$6,0)) 

POC

重要提示:在您B3的名字:B4區必須是唯一的,拼寫相同的A7:A8區域。其中包括可能意外掉入的尾部或前導空間。

如果表格位於工作簿的不同頁面上,請調整參考範圍以符合您的需要。

+0

完美,謝謝測試迄今似乎按照要求工作 – Andy

0

enter image description here

這是一個陣列式 - 擊中按Ctrl + + 輸入儘管仍然在公式編輯欄中

=INDEX(B2:B10,SMALL(IF(A2:A10=A1,IF(B2:B10="ONCALL",ROW(A2:A10)-1)),1))

=INDEX(B2:B10, - 通過看B2:

SMALL(IF(A2:A10=A1, 
     IF(B2:B10="ONCALL", 
         ROW(A2:A10)-1)),1)) 

這就是:B10和返回的行數由calulcaulated在兩個IF語句都爲真的情況下(數據匹配和「ONCALL」存在)構建一個行數減1的數組,然後SMALL按升序返回第n個值 - 我要求第一個m atch(或最小的行號),然後INDEX用來返回結果。

+0

謝謝,這似乎並沒有爲我想要的工作,我已經添加了希望更清晰的例子,我試圖實現以上,非常感謝 – Andy

+0

@安迪道歉。我現在很忙,這些日子我只有5分鐘的窗戶來檢查。很高興有人跟着答案。我只有最初的信息工作,否則我會建議在FormulaEd的答案 –

+0

提供的確切公式提供的答案謝謝@Glitch_Doctor我的第一篇文章可能已經完成了一點點更詳細的回顧現在 – Andy