- 締切済み
エクセル - 抽出からの隣接セルの参照
エクセル2007を使用しています。 ある範囲から対象セルの値に最も近い値を抽出し、抽出先の隣接するセルの番号を参照したいのですが、なにかいい方法はないでしょうか?
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17070)
回答が質問者には難しいと思うので、プロセスを作業列を使って説明してみる。 例データ A列 B列 C列 58 25 33 68 35 26 7 60 27 65 32 14 19 77 44 62 29 30 3 67 34 B列は =ABS(A1-$C$1) 「近さ」を出している。 その中の最小値は =MIN(ABS(($A$1:$A$10-$C$1))) と入れてSHIFT+CTRL+ENTERを押す(配列数式)。 結果(B13セル。どこでも空きセルでよいが) 3 これがどこ(どの行)にあるかは =MATCH(B13,$B$1:$B$10,0) で 結果 9 組み合わせると =MATCH(MIN(ABS(($A$1:$A$10-$C$1))),$B$1:$B$10,0) と入れてSHIFT+CTRL+ENTERを押す。 右隣セルはINDEX、OFFSETで指定できるが 実際例では、「行」がわかれば、隣列は、式の作成者がB列やC列は具体的に決められるでしょう。上例はB列は、説明のため使っているので話は変わるが)
- hallo-2007
- ベストアンサー率41% (888/2115)
すみません。No2です。先に紹介した式は 最も近い値でした。 そのセルの行番号でよければ 抽出した最も近い値を検索値にして MATCH関数使ってみてください。 式がB1にあったとして =MATCH(B1,A2:A10)などです。 気になる部分ですが、 差が+側、-側含めて 複数同じ値がある場合が考えられます。 作業列で =ABS(A$1-A2) 下フィル RANK関数で 作業列つくって オートフィルターで 1 で絞り込む 必要があるかみしれません。
- maron--5
- ベストアンサー率36% (321/877)
◆追加です ★この式は「配列数式」です ★式を入力後、Shift+Ctrlを押しながら、Enterを押してください ★式の両端に、{ } がついたら式が確定されています
- hallo-2007
- ベストアンサー率41% (888/2115)
仮に ある範囲 A2:A10 対象セルの値 A1 として =INDEX(A2:A10,MATCH(MIN(ABS(A2:A10-A1)),ABS(A2:A10-A1),FALSE)) いれて Ctrl +Sheft + Enter で決定してみてください。
- maron--5
- ベストアンサー率36% (321/877)
A B C 1 56 62 A5 2 66 3 24 4 58 5 63 6 12 7 75 8 60 9 28 10 65 C1="A"&MATCH(LOOKUP(1,0/(ABS(A1:A10-B1)=MIN(ABS(A1:A10-B1))),A1:A10),A1:A10,0)