Excelで近い値のセルの隣接セル同士の参照・抽出方法
- Excelを使用して近い値のセルの隣接セル同士の参照と抽出を行いたい場合、以下の手順に従うことができます。
- まず、データが格納されているセル範囲を選択します。次に、条件付き書式を使用して、X2の値と最も近い値のX1の隣のY1を強調表示します。
- 最後に、セルの数式バーに以下の数式を入力して、Y1×Y2の値を計算し、Y3として表示します。この操作により、X2とY3の値を持つデータを出力することができます。
- ベストアンサー
Excel: 近い値のセルの隣接セル同士の参照・抽出について
Excel: 近い値のセルの隣接セル同士の参照・抽出について よろしくお願い致します。 題目ではうまく説明できず申し訳ありません。今、 X1 Y1 X2 Y2 1 35 1.1 50 2 40 2.9 81 3 20 5.3 2 4 10 5.6 15 5 22 10.0 25 6 11 18.4 10 (中略) 100 32 250.2 14 といった二つのデータ(X1,Y1)と(X2,Y2)があります(位置合わせがうまくできずすみません)。X1は整数、他は実数です。X2の値と値の間隔は不定です。 X2の値と最も近い値のX1の隣のY1を参照し、Y1×Y2の値をY3として出力したいと思っています。 具体的には、 X1 Y1 X2 Y2 Y3 1 35 1.1 50→ (1.1≒1)35×50=1750 2 40 2.9 81→ (2.9≒3)20×81=1620 3 20 5.3 2→ (5.3≒5)22× 2=44 4 10 5.6 15→ (5.6≒6)11×15=165 5 22 10.0 25 … 6 11 18.4 10 (以下略) と計算し、 X2 Y3 1.1 1750 2.9 1620 5.3 44 5.6 165 (以下略) といったデータにしたいのです。 Excelでこのような操作を行うことができるでしょうか。御教示ください。 できればマクロなどを使わない方法でお願いします。 よろしくお願い致します。
- laplasma
- お礼率90% (9/10)
- オフィス系ソフト
- 回答数5
- ありがとう数4
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
2行目からデータとして、Y3の列の2行目に、 =VLOOKUP(ROUND(C2,0),$A$2:$B$100,2,0)*D2 と入れて、下まで引っ張れば終わりです。 ROUND関数で、X2 の値を四捨五入し、 それを検索値として、Y1を求め、 Y2を乗じています。
その他の回答 (4)
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! アドインソフトになってしまいますが・・・ ↓のURLのようなものもあるみたいです。 http://kiyopon.sakura.ne.jp/soft/minx.htm m(__)m
お礼
御解答頂きありがとうございますm(__)m 無料ソフトウェアを使うやり方もあるのですね。難しいですが、勉強になります。エクセルは奥が深い…。
- MackyNo1
- ベストアンサー率53% (1521/2850)
X1の数値の種類や並び順に関係なく差の絶対値の最小値を検索する汎用性のある数式にするなら以下の配列数式にしてください。 =INDEX(B:B,MAX((MIN(ABS(C2-$A$2:$A$100))=ABS(C2-$A$2:$A$100))*ROW($A$2:$A$100)))*D2 配列数式ですので、入力後Ctrl+Shift+Enterで確定してください。
お礼
いくつも御教示頂きありがとうございます。関数を調べ切れていないのですが、汎用性のあるやり方のようですね。勉強になります。
- MackyNo1
- ベストアンサー率53% (1521/2850)
X2のデータが必ずX1のデータに入っているなら(四捨五入した値がX1に必ず存在するなら)、Y3の値は以下の式で表示できます。 =INDEX(B:B,MAX(INDEX((ROUND(C2,0)=$A$2:$A$100)*ROW($A$2:$A$100),)))*D2
お礼
御解答頂きありがとうございます。勉強させて頂きます。
- imogasi
- ベストアンサー率27% (4737/17068)
基本的にはVLOOKUPのFALSE型でX1の数に当たる数で表のB列を引き、B列の値でD列の値をかければよい。検索が済めば、ここからは簡単。 A列(X1)は正整数と断言できますか?はっきり質問に書くべきでは。 ーー VLOOKUP関数にTRUEがたという質問に近い関数の種類があるが、超えない最大値、とかで少し違うので使えない。四捨五入で良いのですか? ーー 値 1とに差 2との差 1.1 0.1 0.9 1.2 0.2 0.8 1.3 0.3 0.7 1.4 0.4 0.6 1.5 0.5 0.5 1.6 0.6 0.4 1.7 0.7 0.3 1.8 0.8 0.2 1.9 0.9 0.1 1.5(両者の差0.5で同じ)の場合どうすべきですか?小数点以下2桁以下の端数が付いて 実際ではこういうことが起こらず、差さを採って採用を決めるべきですか。
補足
御回答頂きありがとうございます。説明が足らず申し訳ありません。 X1は今回は自然数ですが、今後負の数で計算する場合もあると思い整数とさせて頂きました。 四捨五入に関しては仰る通り端数の桁が多く、1.5ちょうどといったx1はほとんどないので、問題ありません。
関連するQ&A
- [Excel] 値のない範囲を参照するグラフを値がある範囲を参照するようにする
お答え願います。 Excelのグラフで何も値が入力されていないセルを参照する系列を挿入したとします。 この際、凡例は表示されますが、グラフ上に線は表示されないのはわかります。 ここから値が入力されているセルに参照先を変えるには、 [グラフ上で右クリック]→[元のデータ]→[系列]→Yの値の参照セル範囲を変更するとできるんですが、これをマクロで行う方法はありますか? 試したところ、Yの値を変えるにはSeriesCollection(x)をアクティブにしないといけない気がするんですが、グラフ上に線が表示されていないせいか、エラーになってしまいます。 大雑把な質問ですが、足りない点がありましたら補足しますので、どうかご教授願います。
- 締切済み
- オフィス系ソフト
- excel2010の条件によるセルの参照方法
excel2010の特定の条件下のセルの参照の式についてご質問させて頂きます。 例えば、A1のセルに、以下のようにするように式を書くにはどのようにしたらよろしいでしょうか? E1, E2, E3, E5, E6 に大小の数値が入っていたとします。 それらのセルの中で、最大値のセルを探し、 E1が最大値の時はX1、E2が最大値の時はX2、E3が最大値の時はX3・・・以下同。 のセルを参照する。 例えば、E1からE6のなかで、E5が最大値だったばあいは、X5のセルをA1のセルに参照されるようにしたいと考えています。 申し訳ございませんが、ご教示のほどよろしくお願いいたします。
- ベストアンサー
- Excel(エクセル)
- 【EXCEL】指定したセルの値を他セルに代入する
EXCELにおいて、 あるセルD1で記入したアルファベットX(列指定情報) あるセルE1に記入した数字Y、(行指定情報) において、 あるセルF1=X行Y列のセルの値 というふうにするにはどのようにすればよろしいでしょうか? よろしくお願いいたします。 以下は例です ---------------------------- # A B C D E F 1 12 ## A 3 34 2 23 3 34 4 54 5 89 ----------------------------
- ベストアンサー
- オフィス系ソフト
- 値の抽出
Excelでマクロを使って値の抽出をしたいのですが、自分ではうまくいきません。どうかお力をお貸し下さい。 A1セル:品番 A2セル:DDH0020 A3セル:DDH0030 A4セル:DDH0040 A5セル:DDH0050 … A30セル:DDH0150 B1セル:品名 B2セル:ゴウハン 13*20.0X 56X807 U B3セル:ゴウハン 13 20.0X 56X845 U B4セル:ゴウハン 13 20.0X 85X1257 U B5セル:ゴウハン 13 20.0X 56X1280 U … B30セル:ゴウハン 13*20.0X 232X1897 U このような形で30行目まであります。 この内のB列の数字部分(2行目であれば)、20と56と807を抜き出し C2セル:20,D2セル:56,E2セル:807 (3行目であれば) C3セル:20,D3セル:56,E3セル:845 (4行目であれば) C4セル:20,D4セル:85,E4セル:1257 と表示させたいのです。 ご面倒おかけしますが、どうかご回答をお願いします。
- ベストアンサー
- その他([技術者向] コンピューター)
- 【Excel】2つの値のどちらかを抽出する
A、Bのセルがあり、どちらのセルにも文字列が入っていたり、入っていなかったりとします。 そこでセルCに、A、Bどちらかの文字列を入れたいと考えたとき、どのような関数が考えられますでしょうか? 条件は以下のようにします。 (1)A,Bとも文字列か、空白のどちらか (2)Aの方が優先される。A,Bのどちらも値が入っている場合はA、Aが空白で、Bに値が入っている場合はBの値がCに反映される。 宜しくお願い致します。
- ベストアンサー
- オフィス系ソフト
- Excel2000で他のブックの値を参照する
Excel2000で、他のブックからセルの値を参照する際に, #VALUE!になってしまうのはどういう場合でしょうか。 新規で作ったブックでは正常に参照できるのですが, 既にあるブック同士で片方からもう片方のセルを参照しようとすると #VALUE!になってしまいます。 参照の方法ではなく,こうなってしまう要因と対策方法を お教えいただきますよう,お願い致します。
- 締切済み
- 会計ソフト
- 2つのセルに入力された異なる数値同士を比較して、もっとも近い値のある行
2つのセルに入力された異なる数値同士を比較して、もっとも近い値のある行を検索する。 EXCELに関して表題の件で皆様の助言を何卒よろしくお願いします。 以下のようなサンプルがあるとします。 【A表】 # x y 1 13 712 2 22 1277 3 22 1559 4 22 2158 5 30 692 6 33 2294 7 34 1205 8 36 177 9 40 1851 10 52 762 ・ ・ ・ ・ これに対しての検索するデータが以下です。 【B表】 2# 2X 2Y 2 17.38 421.735 3 29.504 419.711 4 12.254 419.922 5 32.509 417.048 6 32.412 415.276 7 32.131 413.79 8 28.439 416.012 9 28.105 172.226 10 38.55 262.927 13 58.727 10.303 14 50.327 11.811 15 35.978 104.821 ・ ・ ・ ・ A表とB表のそれぞれ 【x ⇔ 2x】 【y ⇔ 2y】 の部分と比較し もっとも近い値から上位3つくらいまで一致したA表の行を抽出するための 関数、マクロを作成したいと思っていまして、過去ログ等調べて 色々試してみましたがなかなかうまくいきません。 【x 、 y】と【2x 、 2y】はそれぞれ同じ行同士の物で検索しなければならないというのが ネックになっているのでしょうか? あとA表、B表の総項目数は一致していません。 もっとも近い値を検索し、その行の【#】の数値を抽出するという関数は 過去ログから検索して作成することは出来たのですが、 2番目、3番目に近い値を検索し、#の数値を抽出することが出来ません。 言葉足らずで理解に苦しむかと思われますが、何卒皆様のご助力を よろしくお願い致します。 ※本文では分かり辛いので画像添付しました。ご参照下さい。
- ベストアンサー
- その他MS Office製品
- vlookupのセル参照
vlookupで値を持ってきたあと、 参照してるデータのどのセルを見てるのか 知りたいのですが、そのような方法は 無いですか?? どなたかご存じの方いらっしゃいましたら 教えてください。 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- エクセルで、あるセルに入力されたらこのセルを参照する…
B1セルに値が入力されたら、A1セルがC1セル(データ入力済)の値を参照する、 ような数式を教えてください. またこのような数式がたくさんあるサイトでオススメを教えてください.
- ベストアンサー
- オフィス系ソフト
- ExcelVBA:オートフィルタをかけたシート上でのセル内の値参照について
オートフィルタをかけた状態で、セル内の値を参照しても、オートフィルタがかかってないセル(隠れているセル)の値を参照してしまいます。 例えば、ある条件でオートフィルタをかけて、行が1,2、6,7、8・・・となって、3,4,5行が非表示になっているのにもかかわらず、 Range("A1").Offset(0, 2).Value を参照すると、6行目の値ではなくて、非表示の3行目の値を拾ってきてしまいます。 このように、オートフィルタをかけたシート上で値を参照する際に、非表示行を無視して行数取りし、値を参照したいのですが、何か方法はありますでしょうか? 上の例ですと、6行目のセルを3行目として扱いたいわけです。 どなたか、ご教授くださいませ。 よろしくお願い致します。
- ベストアンサー
- Visual Basic
お礼
御回答頂きありがとうございます。疑問の内容を適切な検索語にできず、解答にたどりつけずに困っておりました。HPで詳細を調べましたが、vlookup関数はうってつけですね。round関数も便利そうです。