• 締切済み

複数の行で近似値の列検索がしたい

初心者です。よろしくお願いいたします。 質問の内容ですが、A.B.Cのそれぞれの行で数値が入力されていまして、例えばA行が60、B行が65、C行が70という数値に一番近い数値を示す列を検索したいと思っています。 例えば100列目にA行61、B行65、C行71という数値があり、その列が一番条件に合う列とするとその列を検索したいのです。 現状はデータのフォームを使ってある程度絞って一つ一つ確かめています。よろしくお願いいたします。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

質問の表現が意を尽くしてないと思います。補足をお願いします。 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列データありの場合どうしたらよいのかなあ。 上記は私の誤解か? 取りあえず投げます。

eiji_wada0
質問者

補足

補足させていただきます。   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行目が正解ということになります。 このような検索の仕方はあるのでしょうか? よろしくお願いいたします。

関連するQ&A

  • vlookup複数列検索

    vlookupの複数列検索でどういった計算式がいいか教えてください。  A列 B列   C列  D列   2/1 100   6/1 200 とデータがあったとして 初めにA列の2行目のデータをvlookupで計算式をかけ A列になかったら C列の2行目を検索するようにしたいのですが 本来だったらC・D列をA・B列にもっていけばいいのでしょうが、私のやりたいこととして このような2重条件の計算式に持っていきたいです。 vlookupの複数条件は色々とやり方があるみたいで、どれが適してるのか 分からず困っています。 どなたかご存知の方教えてください。 よろしくお願いします。

  • エクセルの表計算で、検索値が含まれる列を検索後、同じ列の違う行にある数

    エクセルの表計算で、検索値が含まれる列を検索後、同じ列の違う行にある数値を返す場合はどのようにすればいいのでしょうか? ※下表を例としますと、検索値 150 が含まれる1行目のC列を検出後、同じ列の2行目に入力されている 4300 を返す場合の関数式を教えてください。     A      B         C        D 1   1~50  51~100   101~250   251~500 2   5000    4500      4300     4000

  • エクセルで行から数値を検索し、検索した数値のある列

    エクセルで行から数値を検索し、検索した数値のある列から左側の全ての合計を求めたいです。   A B C D E F 1  3 4 8 9 11 22 ←数字は隙間なくあるが、値がバラバラ(ただし昇順) 2 3  2~6行には色々な数字がまばらにある 4 5 6 1行目から検索したい数→10(別のセルで数式結果として出た数) ズレてるかもしれませんが・・・ E1セルに書かれている「11」の数字より前のD列、 A~D列の2行目~6行目の合計を各行ごとに別々に出していきたいです、どうしたらいいでしょうか また、表は行も列もデータを追加していく予定です

  • Excelで複数ページにわたり、特定の列・行を印字したい

    Excel2002を使っています。 言葉で上手く説明できるか分からないのですが…下記のような事を行ないたいのですが、うまく出来ません。どうすればよいか教えて下さい。 <現在のシートの内容> ・A1~B2まで結合、C1~G2まで結合、H1~I2まで結合 ・3行目はA列のみに文字を入力 ・4,5行目は空白 ・6~7行目は2行2列ごとに結合し、最後(K、L、M列)のみ3列を結合 ・8行目以下は行では結合せず、6~7行目にあわせて列を結合し各セルに数値や文字を入力(A~M列まで) ・100行目までデータあり。途中、改ページあり。 <行ないたいこと> ・A1~I3までの内容とA6~M7までの内容を、全てのページの上部に印刷したい <試したこと> ページ設定の「シート」で「行のタイトル」「列のタイトル」を入力 ※「行のタイトル」は$6:$7、※「列のタイトル」は$A:$Mとしました <結果> ・A6~M7までの内容は全てのシートに上手く印字されましたが、  A1~I3の内容は1枚目のみでした <これは避けたい!ということ> ・ページが変わるごとにA1~I3までの内容とA6~M7までの内容をコピー&ペーストすること。 ※ファイルを見ている時は、途中に余計なものが入らないようにしたい。現状は、ウィンドウ枠の固定で7行目まで固定しています。 以上です どうすれば、上手く印刷できるでしょうか?

  • 複数条件でのカウント

    データの個数のカウントで行き詰りましたので質問させていただきました。 複数条件で検索するのですが、その条件の中に AND と OR があります。 現状ではCOUNTIFSを足していって算出していますが、場合により条件が多くて とんでもなく長い式になってしまっています。 なんとか簡潔に短い式にまとめられないかと思いまして試行錯誤したり調べたり してみたのですが答えが出ませんでしたので質問に至りました。 現状では以下の様になっております。 A列・・・2ケタの数字 B列・・・数字・文字列の混合 データは約1000行あります。  このデータから、A列の 10 or 15 のデータで、 かつB列の 4 or 1_100 のデータの個数を求める式です。 =COUNTIFS(A1:A1000,C1,B1:B1000,D1)+COUNTIFS(A1:A1000,C1,B1:B1000,D2) +COUNTIFS(A1:A1000,C2,B1:B1000,D1+COUNTIFS(A1:A1000,C2,B1:B1000,D2) 条件を変えていろいろカウントしたいので、 C1~C2にA列の検索条件を入力するセルとし、 D1~D2にB列の検索条件を入力するセルとしております。 上記の式は条件がそれぞれ2個ずつとなっておりますが、 片方だけで6個までいく事もあり、その場合式がかなり長くなります。 これをどうにかして簡潔に短くまとめたいと思っております。 ご存知の方がおられましたらご教授下さい。 よろしくお願いいたします。

  • EXCELで列のデータを行に移行したい

    よろしくお願いします EXCEL2000を使用しています 現状ですが A・B・C・Dの条件に合うデータが最大20個(F~Y)入力してあります 必ず1つのデータが条件に当てはまるのでFに空欄はないです A・B・C・Dの条件は200行あります 希望の状態は F~YのデータをAに書き出し (最小1個×200行=200行 最大20個×200行=4000行) それぞれの値の条件A~Dのデータが そのデータのB~E入るようにしたいです VBを利用すれば早いと言うことはわかるのですが 作れないので質問させていただきました よろしくお願いします

  • Excelで複数条件を満たすのは何行目?

    Excel VBAにてどういう方法があるのか考えています。 A列はHかL、B列は1,2,3のようなデータにおいて  条件1:A列はH  条件2:B列が2 を満たす行は何行目かを探して、C列のその行のセルに コピーしていたデータを貼り付けたい (この場合、2つの条件で重複する行はありません) A列 B列 C列 H  1 H  2  ■←ここへ貼り付け H  3 L  1 L  2 L  3 この場合は、2行目なので、C列の2行目のセルをselectしてpasteしたいのです。 良い方法をご存じの方、よろしくお願いいたします。

  • エクセル複数検索で

    A、B、C列を検索してD列のデータを求める式を作成しました。 データリスト   A     B   C   D   1 F2    M2  55  100 2 F21   M3  55  110 3 S22   M2  60  105 4 S2    M2  65  115 求める式(10行目のA、B、Cに文字及び数値を入力し、その値に合致するDの値をD10に求める) 式:INDEX(D1:D4,MATCH(A10&"!"&B10&"!"&C10,A1:A4&"!"&B1:B4&"!"&C1:C4,)) ここで質問ですがA10のセルにはフルネームで入力してデータ行のA1~A4の値は最初の文字(F又はS)だけ認識させたいのですがその方法が分かりません。 質問がわかりにくいかもしれませんがA1~A4にはForSのみ記入しA10セルにはF2、S22などと表示したいのです。よろしくお願い致します。

  • EXCELデータの検索及び1行表示について

    宜しくお願いします。 不動産の建物台帳をエクセルにて作成しており、検索をしたいのですがうまくいきませんので質問させていただきます。 現状はオートフィルタやV-LOOKUPは使っているのですがもう少し効率を向上させたいのでよろしくお願いします。 シート1(物件一覧) A3:ID B3:物件名称 C3:号室 D3:間取り …BD列までデータがあります。データは4行目から入っています。 列は現在データ入力済みが3300件ほどとなっております。 シート2(検索ページ)B2セルに物件名称を入力すると シート1から1行ごと(または複数結果がある場合は複数行を)呼びだしたいのです。行や列は変わっても問題ないです。 INDEXやMATCH関数だと思い、他の回答履歴などを見て試行錯誤しているのですが、うまくいきません。 OSはwindowsVISTA EXCELは2007です。 関係があるかわかりませんが、データ入力時には通常ユーザーフォームを作り、そこから入力しています。

  • ExcelVBAで行と列の検索

       A  B  C  D  E 1  コード あ  い  う  え 2  10  ○    ○ 3  20     ○  ○ 4  30          ○ 上記の表が5000件あります。Textbox1に入力し検索ボタンを押すと A列のコードを検索して一致する列の○のあるところの1行目の項目 をtextbox2に表示したいのですがうまく行きません。 よろしくお願い致します。 Private Sub CommandButton1_Click() '検索フォームボタン Dim i As Long Dim 最終行 As String Dim サーチ行 As Long Sheets(1).Activate 最終行 = Range("A1").End(xlDown).Row サーチ行 = 0 For i = 2 To 最終行 If TextBox1.Value = Range("A" & i) Then If Range("B" & i, "N" & i) = "" Then TextBox2.Text = Range("B1", "N1") サーチ行 = i Exit For End If End If Next If サーチ行 = 0 Then MsgBox TextBox1.Value & "データはありません。", vbInformation, "無し" End If TextBox1.SetFocus End Sub エラーはでません。データはありませんとなります。  

専門家に質問してみよう