簡體   English   中英

根據條件從范圍中選擇一個單元格值

[英]Select a cell value from a range based on criteria

我試圖找出一種更巧妙的方法,用於根據給定范圍內定義的標准確定單元格的值。 坦率地說,我有一列標准粘度,標准溫度和測量溫度。 我需要創建第四列,該列將根據測量的溫度選擇標准粘度。 例如,如果測得的溫度是大於或等於0℃且小於1個O C:返回標准粘度為0℃。

我的問題是我有很大的范圍,發現為每個范圍創建自定義表達式很繁瑣。 我創建了一個由IF(AND())語句組成的噩夢函數,但是發現這很累人,尤其是當我嘗試為0-200 o C標度創建一個單位增量的表達式時。

這是一個有效但很麻煩的代碼示例:

=IF(AND(G8>=$C$7,G8<$C$8),$D$7,0)+IF(AND(G8>=$C$8,G8<$C$9),$D$8,0)+....

要么

=IF(AND(measured temp>=0,measured temp<1),$D$7,0)+IF(AND(measured temp>=1,measured temp<2),$D$8,0)

我該如何更時尚地處理呢?

您可以通過VLOOKUP函數來實現。

=VLOOKUP(G8;$C$7:$D$...;2;TRUE)

用表的最后一行的索引替換三個點。

VLOOKUP的第一個參數是要搜索的值; 第二個參數是要在其第一列中搜索值的范圍; 第三個參數是包含要返回的值的列的索引(在范圍內,因此2表示范圍內的第二列,在您的情況下為D); TRUE表示您不希望搜索精確匹配,而是要搜索的列是定義間隔的值的有序列表。

編輯:

對於MATCH和OFFSET(猜測,未嘗試),如果相對於標准值的列保留了帶有結果值的列:

=OFFSET($C$7;...;MATCH(G8;$C$7:$C$...;1) - 1)

將結果的前三個點替換為相對於C列的結果列的位置(如果是D列則為1,如果是B列則為-1),將后三個點替換為范圍的最后一行的索引,如上。

EDIT2:

以下是INDEX的答案和評論:INDEX而不是OFFSET更好。

=INDEX($D7:$D...;MATCH(G8;$C$7:$C$...;1))

如果您在F2中說出測得的溫度並且您的數據表是A:C,請嘗試:

=INDEX(A:A,MATCH(F2,C:C))  

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM