[英](Excel) Pick formula criteria/logical etc from another cell(reference)
我正在編寫一個If + Or函數,並希望對該函數中的不同邏輯使用多個單元格引用,而不是在原始的if + or函數中編寫每個邏輯語句。 關於如何解決這個問題的任何想法? 希望我在這里不太清楚。
例如:我不想寫= If(or(A1 = A2,A3 = A4),A1,0),而是想在單元格列表中寫出所有不同的邏輯值,只寫原始的if + or公式像這樣:= IF(OR(B1),A1,0)其中B1包含文本“ A1 = A2,A3 = A4”
感謝您的幫助!
您可以使用INDIRECT函數。
例如,如果單元格A6中的值為10,則INDIRECT(“ A6”)=10。因此,基本上,您可以在IF公式中編寫INDIRECT(“ A6”)= INDIRECT(“ A7”)而不是A1 = A2條件。 如果要在一個單元格中包含“ A1 = A2”,則可以使用LEFT和RIGHT。
這是一個示例: https : //docs.google.com/spreadsheets/d/157tRicA55TFKKOi86yYBQScnjaQE6fYxaCHFdZx4uUM/edit?usp=sharing
附注:此解決方案適用於Google表格,因此,如果您使用的是Excel,則該解決方案可能會有所不同,但也適用於Excel。
不必使用=IF(OR(B1),A1,0)
,而必須使用
例如=IFOR(B1,A1)
(我更喜歡用“”代替0 ,對不起)
或=IFOR(B1,A1,0)
如果您更喜歡0而不是“” ),
或將聲明中的ElseValue更改為0 ,
那么您可以使用=IFOR(B1,A1)
獲得0 。
Function IFOR(IfOrCell As Range, ThenCell As Range, _
Optional ElseValue As Variant = "", _
Optional SplitDelimiter As String = ",") As Variant
'Description:
'Pending...
'Recalculation
Application.Volatile
'Variables
Dim arrIfOr As Variant
Dim iIfOr As Integer
Dim blnIfOr As Boolean
'The Array: The Split
If InStr(IfOrCell.Value2, SplitDelimiter) = 0 Then Exit Function
arrIfOr = Split(IfOrCell.Value2, SplitDelimiter)
'An Additional Split Introducing the Boolean
For iIfOr = LBound(arrIfOr) To UBound(arrIfOr)
If InStr(arrIfOr(iIfOr), "=") <> 0 Then
If Range(Split(arrIfOr(iIfOr), "=")(0)).Value2 _
= Range(Split(arrIfOr(iIfOr), "=")(1)).Value2 Then
blnIfOr = True
Exit For
End If
End If
Next
'Output
If blnIfOr = True Then
IFOR = ThenCell.Value2
Else
IFOR = ElseValue
End If
End Function
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.