我怎样才能得到一个基于Excel中的另一列的列中的值?

假设我有两列; A和B,每个都有50行数据。 我想将第三列C的值设置为对应于B的最小值的A的值。我可以在不写macros的情况下执行此操作吗?

https://qph.is.quoracdn.net/main-qimg-7978d7e50a58000fc152952a980c09e3?convert_to_webp=true

考虑C1

=IF(B1=MIN(B:B),A1,"") 

并抄下来:

在这里输入图像说明

如您所见,不需要macros。

如果在Column B有唯一值,即Column B只有一个最小值,则可以使用以下公式。 在Cell C1input此公式:

 =INDEX(A:A,MATCH(MIN(B:B),B:B,0)) 

或者如果你有一个固定的范围,直到第25行,使用下面的公式,并根据需要更改行数:

 =INDEX(A1:A25,MATCH(MIN(B1:B25),B1:B25,0)) 

在这里输入图像说明

如果您在Column B重复最小值,即最小值出现多于一个,则尝试使用此数组公式。 在Cell C1input公式并将其拖动到所需的行:

 =IF(COUNTIF($B$1:$B$25, MIN(B:B))>=ROWS($A$1:A1),INDEX($A$1:$A$25, SMALL(IF(MIN(B:B)=$B$1:$B$25, ROW($B$1:$B$25)-MIN(ROW($B$1:$B$25))+1, ""), ROW(A1))), "") 

这是一个数组公式,通过按Ctrl + Shift + Enter来提交

再次如果你想使用这个公式固定行说25,然后使用下面的公式。 相应地更改行数:

 =IF(COUNTIF(B:B, MIN(B:B))>=ROWS($A$1:A1),INDEX(A:A, SMALL(IF(MIN(B:B)=B:B, ROW(B:B)-MIN(ROW(B:B))+1, ""), ROW(A1))), "") 

在这里输入图像说明

从这里得到了数组公式的提示。