我怎样才能得到一个基于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 C1
input此公式:
=INDEX(A:A,MATCH(MIN(B:B),B:B,0))
或者如果你有一个固定的范围,直到第25行,使用下面的公式,并根据需要更改行数:
=INDEX(A1:A25,MATCH(MIN(B1:B25),B1:B25,0))
如果您在Column B
重复最小值,即最小值出现多于一个,则尝试使用此数组公式。 在Cell C1
input公式并将其拖动到所需的行:
=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))), "")
从这里得到了数组公式的提示。