- 締切済み
複数の行で近似値の列検索がしたい
初心者です。よろしくお願いいたします。 質問の内容ですが、A.B.Cのそれぞれの行で数値が入力されていまして、例えばA行が60、B行が65、C行が70という数値に一番近い数値を示す列を検索したいと思っています。 例えば100列目にA行61、B行65、C行71という数値があり、その列が一番条件に合う列とするとその列を検索したいのです。 現状はデータのフォームを使ってある程度絞って一つ一つ確かめています。よろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
質問の表現が意を尽くしてないと思います。補足をお願いします。 A,B,C列に数字(値)のみ入力されている。文字列なし。 3列を例として問題にする。 A列データ数(=行数)と、B列のデータ数(=行数)は同じでない。 質問1.A,B,C列それぞれで 例えばA行が60に一番近い行、B行が65に一番近い行、C行が70に一番違い行と言うように各列単独で近い物を探すのでなく、 A,B、C列総合で、かつ1行単位で判断するのですね。 そのアルゴリズムはどういう風なものを考えているのですか。 |A-60|+|A-65|+|C-70|が最小になる列を指摘するのでしょうか(|X|はxの絶対値を示す)(擬似的「距離」のかんがえ?)。 道具は操作、関数、VBAなどどれを想定してますか。 ーーー 関数で考えると例えば A列 B列 C列 E列 63 74 74 16 62 73 75 15 61 72 76 14 60 71 77 13 59 70 78 14 58 69 79 15 D列 =ABS(A1A50-60)+ABS(B1-65)+ABS(C1-70)) E10に =MIN(E1:E6)で 結果13 行は=MATCH(E9,E1:E6,0) で結果4 ということは-->4行目にあり(同じものがあっても1つしか出せないが) 検索操作で「次へ」次々と指定しても良いかも。 小数点以下の数がある場合など複雑化するかも。 ーーー 今気づいたが、 しかしA列にデータなし、B列C列データありの場合どうしたらよいのかなあ。 上記は私の誤解か? 取りあえず投げます。
補足
補足させていただきます。 A B C 1 65 64 63 2 62 61 60 3 55 52 50 4 32 33 31 上記のような表があります。 この中で、 A B C 65 63 63 という数値に一番近い組み合わせを探したいとすると、 1行目が正解ということになります。 このような検索の仕方はあるのでしょうか? よろしくお願いいたします。