2つの列があるとします。 A、Bの各行に50行のデータがあります。私は第3列の値Cを、例えばBの最小値に対応するAの値に設定したいと思います。これをマクロを書くことなく行うことはできますか?excelの別の列に基づいてある列の値を取得するにはどうすればよいですか?
https://qph.is.quoracdn.net/main-qimg-7978d7e50a58000fc152952a980c09e3?convert_to_webp=true
2つの列があるとします。 A、Bの各行に50行のデータがあります。私は第3列の値Cを、例えばBの最小値に対応するAの値に設定したいと思います。これをマクロを書くことなく行うことはできますか?excelの別の列に基づいてある列の値を取得するにはどうすればよいですか?
https://qph.is.quoracdn.net/main-qimg-7978d7e50a58000fc152952a980c09e3?convert_to_webp=true
Column B
に固有の値がある場合、つまり列に最小値が1つしかない場合は、次の式を使用できます。
=INDEX(A:A,MATCH(MIN(B:B),B:B,0))
それとも、一定の範囲を持っている場合は、行25まで言うと、使用後の式と必要に応じて行数を変更します:Cell C1
にこの数式を入力します
=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キー + 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))), "")
がhereから配列数式のためのヒントを得ました。