我目前在 B22 中有這個公式:=IF(ISBLANK(G22),"",IF(A22="SPEED",0,(86400*(G22-(G3)))))
但我不希望 G3 成為等式中的固定點。我希望它是一個變數。變數應該是: 這是 G 列中的單元格,它與 A 列中的對應單元格相鄰,其中包含字串“SPEED”,該字串在物理上也最接近目標行(在本例中為第 22 行)。
邏輯應該是:
如果 G22 中的單元格為空白,
如果為真,則回傳 null。
如果為 false,請運行以下公式:
-
如果 A22 中的單元格等于“SPEED”,
如果為真,則回傳 0。
如果為假,則回傳以下公式:
- 將 86400 乘以 G22 相鄰減去 G[Row Number] 的總和,其中 [Row Number]=最接近 G22 的行 where value="SPEED" from A22:$A$3)
-
我目前可以得到公式的其余部分,但我不知道如何為該變數撰寫。
uj5u.com熱心網友回復:
如果您愿意提供樣本資料,我們將更容易理解您想要得到什么。
您可以使用ADDRESS回傳這些
G[Row Number]; 其中 [Row Number]=最接近 G22 的行,其中 value="SPEED" from A22:$A$3)。成變數;并間接獲得價值。
ADDRESS(row_num, column_num, [abs_num], [a1], [sheet_text])
和
INDIRECT(ref_text, [a1])
復雜的一個是您想要獲得具有 SPEED 值(即文本)的最接近 ROW 的值(在本例中為第 22 行),您不能使用 MIN() 或 MAX() 公式來接近或操作它。我建議使用 MATCH 函式并將 [match_type] 設定為“1”以找到最大的陣列值。
MATCH(lookup_value, lookup_array, [match_type])
公式可能如下所示,在最后一個語法中使用“1”:
MATCH("SPEED";$A$1:$A$20;1)
而且,讓我們看看這個完整的公式是否適用于您的目標:
=IF(ISBLANK(G22);"";IF(A22="SPEED";"0";(86400*(G22-(INDIRECT(ADDRESS(MATCH("SPEED";$A$3:$A$22;1);7;1)))))))
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/532752.html
標籤:擅长excel公式
上一篇:帶有動態數字的命令按鈕
