假设我有两列; A和B,每个都有50行数据。我想将第三列C的值设置为对应于B的最小值的A的值。我可以在不写宏的情况下执行此操作吗?如何根据Excel中的另一列获得一列中的值?
https://qph.is.quoracdn.net/main-qimg-7978d7e50a58000fc152952a980c09e3?convert_to_webp=true
假设我有两列; A和B,每个都有50行数据。我想将第三列C的值设置为对应于B的最小值的A的值。我可以在不写宏的情况下执行此操作吗?如何根据Excel中的另一列获得一列中的值?
https://qph.is.quoracdn.net/main-qimg-7978d7e50a58000fc152952a980c09e3?convert_to_webp=true
如果您在Column B
中有唯一值,即列中只有一个最小值,则可以使用以下公式。在Cell C1
输入公式:
=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
输入公式并向下拖动,直到你想要的行:
=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 + 移提交它 + 如果输入
再次想要使用这个公式为固定行说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))), "")
得到了阵列式尖端从here。