エクセルでのインデックス関数について

このQ&Aのポイント
  • エクセルで任意の二列からセルの中身を引っ張ってきて組み合わせるものを作成しているが、うまくいかない。
  • 参考ページ: http://okwave.jp/qa/q5883947.html
  • B2セルには=INDEX($E$2:$F$100,MATCH(MIN(G$2:G$100),G$2:G$100,0),COLUMN(B1))と入れてあり、C2セルには=INDEX($E$2:$F$100,MATCH(MIN(H$2:H$100),H$2:H$100,0),COLUMN(C1))と入れてあるが、エラーが出ていて理由がわからない。
回答を見る
  • ベストアンサー

エクセルでのインデックス関数について

エクセルで任意の二列からセルの中身を引っ張ってきて組み合わせるものを作成しているのですが、うまくいきません。 以下のページを参考に作成しました http://okwave.jp/qa/q5883947.html 添付画像ではB、C列の2行目に結果が出るようにしてE,F列にランダムに取りたい値、G,H列に乱数を表示させています また、B2のセルには =INDEX($E$2:$F$100,MATCH(MIN(G$2:G$100),G$2:G$100,0),COLUMN(B1)) C2のセルには =INDEX($E$2:$F$100,MATCH(MIN(H$2:H$100),H$2:H$100,0),COLUMN(C1)) と入れてあります なぜエラーが出るのかが全くわからなく、困っています ご存知の方、どうかよろしくお願いいたします

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

>引っ張ってきて組み合わせるものを作成している B2: =INDEX(E2:E100,RAND()*COUNTA(E2:E100)+1) C2: =INDEX(F2:F100,RAND()*COUNTA(E2:E100)+1) とかで十分です。 まぁ、ムズカシイやり方を頑張ってマスターしたいのが目的なら、スルーしてください。

その他の回答 (1)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! 紹介されているサイトの回答をしたものです。 今覗いてみて、数式の間違いに気づきました。 B2セルの数式を =INDEX(E$2:E$100,MATCH(MIN(G$2:G$100),G$2:G$100,0)) としてフィルハンドルで隣りのC2セルまでコピーしてみてください。 ※ 今回の場合、データが各列二つなので、COLUMN(C1)=3 となり ここでエラーになります。 ※ かなり前の回答でしたが、今見ると恥ずかしい限りです。m(_ _)m

関連するQ&A

  • Excelの関数について教えてください。

    前にも同じような質問をしたのですが、よく理解できなかったので、もう一度質問させていただきます。 まず、A列に1~10まで入力します。次にB列に11~20まで入力します。同様にC列に21~30まで入力します。そして、セルE3に2、セルE5に12に入力します。 それから、セルE3の値をA列から検索し、セルE5の値をB列から検索し、その重なったB行のC列の値を求めたいのです。ここでは22になります。 自分なりに考えてみましたが、 =IF(MATCH(F3,A:A)=MATCH(F5,B:B),INDEX(A2:C10,MATCH(F3,A:A)=MATCH(F5,B:B),C:C,"")) ではエラーがでてしまいます。 いくら考えてもわかりません。 どなたか教えてください。よろしくお願いします。

  • MATCH関数について。

    いま、情報処理検定2級の勉強をしています。 そこでINDEX関数を用いる問題が出たので、INDEXとMATCHのネストを作りました。 =INDEX($C$20:$F$24,MATCH(G5,$C$19:$F$19,0),MATCH(H5,$B$20:$B$24,0)) こんな感じになりました。 でも、エラーが起きました。MATCH(H5,$B$20:$B$24,0))のところのセルH5には「1」とあり、B20:B24には「1回目」~「5回目」とセルに入力してありました。なので、一致しないからだと思いました。 そこで質問です。このような場合、どのようにすればエラーが起きないで戻り値が出るのでしょうか。 わかりにくい文章ですけど、教えてください。

  • エクセルでINDEX+MATCH関数について

    INDEX+MATCH関数について B1:D7、F1:H7には次のようなデータが入力されていて J1:M3のようなものを作成したいのですが上手くいきません。 J2にコード番号を入力し、品名を表示させ、数を入力し、価格を表示させる ・・・ということをしたいのですが、上手くいきません。 K2には  =INDEX((C2:D7,G2:H7),MATCH(J2,B2:B7,0),1,LEFT(J2,1)) という関数が入っていて K2にはりんご M2には500  と表示され上手くいきます。 コード番号100番台は上手くいくのですが、200番台になると#N/Aとエラー表記になります。 どこをどう修正すれば上手くいくのでしょうか。 教えてください。

  • ExcelセルにVBAでINDEX関数を入力

    ExcelでINDEX関数とMATCH関数で"B11:E13"セルに以下の数式データがあります。 数式は "B11"=IF(ISERROR(INDEX($A$1:$A$9,MATCH(1,B$15:B$23,0))),"",INDEX($A$1:$A$9,MATCH(1,B$15:B$23,0))) "B12"=IF(ISERROR(INDEX($A$1:$A$9,MATCH(2,B$15:B$23,0))),"",INDEX($A$1:$A$9,MATCH(2,B$15:B$23,0))) "B13"=IF(ISERROR(INDEX($A$1:$A$9,MATCH(3,B$15:B$23,0))),"",INDEX($A$1:$A$9,MATCH(3,B$15:B$23,0))) "C11"==IF(ISERROR(INDEX($A$1:$A$9,MATCH(1,C$15:C$23,0))),"",INDEX($A$1:$A$9,MATCH(1,C$15:C$23,0))) "B15~B23"に数値1~3を入力した場合イニシャルA~I が入力される式ですが、列を連続で入力できるような処理をVBAのWorksheetFunctionで行うにはどのようにコードを記述すればよいのでしょうか。 ご回答のほどよろしくお願いします。

  • エクセルでINDEXの使い方について教えてください

    エクセルでINDEXの使い方について教えてください。 Sheet間で2つの項目がマッチする行の情報を取り出したいと考えています。 例としまして、 いろいろサイトを見ながら考えて以下の構文を使いましたが別の行の情報が取得されてしまいます。 =INDEX(Sheet1!$G:$G,MATCH(E2,Sheet1!$B:$B,0)+MATCH(D2,Sheet1!$C:$C,0)) (E2とD2の項目がマッチする行の情報”Sheet1!$G:$G”を取り出す) どのようにするのがよいのでしょうか? よろしくお願いします。

  • excel index関数?changeイベント??

    作者不明のため、教えていただきたいのですがお願いします。 シートが4つほどあり、index関数でデータを5つめのシートで集計しています。 集計シート例:  A  B C D E F G H ・・・ 1   【ここにドロップダウンのボックス?があります▼】 2   あ い う え ・・・ 3●● 1 1 2 2 ・・・ 4△△ 2 2 3 2 ・・・ 5□□ 1 1 1 1 ・・・ ・ ・ ●●シート例:  A  B C D E F G H ・・・ 1   あ い う え ・・・ 2AA 1 1 1 1 ・・・ 3BB 0 1 1 1 ・・・ 4CC 1 2 2 2 ・・・ あいうえ項目が各シートにあり、集計シートでドロップダウンリスト(リストの下のセルB1には数字の割り当てがあります)からAAを選ぶと各シートからデータを引っ張ってきて(index関数がB1の数字を読み取ります)、各シートのデータが集計されます。 BBやCCと選んでも簡単に集計してくれるので重宝していたのですが、 これを応用しようと新規ブックで似たものを作り、 index関数(例:=IF((INDEX(●●!$B$2:$H$10,$B$1,1))="","*",INDEX(●●!$B$2:$H$10,$B$1,1))) ※列番号も右セル(あ→い→う・・・)にいくごとに増えていきます。 もコピーしましたが「#REF!」となって集計してくれません。 元のブックを開いてドロップリストを右クリック→マクロの登録をみるとマクロ「ドロップ1_change」という登録が見えますが、マクロを調べても表示は Sub ドロップ1_Change() End Sub しかでてきません。 なにも入っていないのになぜ動くのでしょうか? また他のブックではなぜ「#REF!」となるのでしょうか。 質問もどうしていいかわからないためわかりにくいかと思いますが、教えてください。この説明で不足している場合はご連絡下さい<(_ _;)>

  • INDEX関数について再度質問させてください

    先回、INDEX関数について相談し、その式を教えていただきました。例示した表にその式を当てはめたところ、正しい答えが表示されましたが、同じ形式でデータ数を増やしたところ、正しい答えを出していた欄の数字が異なってしまいました。それ以外の欄の答えはあっています。どうしてこのようになってしまうのかがわかりません。どうかよろしくお願いいたします。 表を添付しましたが、式がみずらいと思いますので、例示します。 (1月4日の式) INDEX($C$2:$C$25,MATCH(MIN(IF(($A$2:$A$25=E2)*($C$2:$C$25<>0),$B$2:$B$25,"")),(($A$2:$A$25=E2)*($C$2:$C$25<>0)*$B$2:$B$25))) (1月7日の式) INDEX($C$2:$C$25,MATCH(MIN(IF(($A$2:$A$25=E3)*($C$2:$C$25<>0),$B$2:$B$25,"")),(($A$2:$A$25=E3)*($C$2:$C$25<>0)*$B$2:$B$25))) 8日・9日の式は、文字数の関係で表示できませんが、参照欄(E2/E3など)以外は、式に変わりがありません。なぜこのようになるのでしょうか?

  • エクセル 項目が一致する行で空白以外を表示したい

    以下のように,東京の食品の価格がセル(B2:B7)に入力されているとして,それらを別の位置(F2:F5)に表示させるために, セルF2に =INDEX($B$2:$C$7,MATCH($E2,$A$2:$A$7,0),MATCH(F$1,$B$1:$C$1,0)) セルF3に =INDEX($B$2:$C$7,MATCH($E3,$A$2:$A$7,0),MATCH(F$1,$B$1:$C$1,0)) セルF4に =INDEX($B$2:$C$7,MATCH($E4,$A$2:$A$7,0),MATCH(F$1,$B$1:$C$1,0)) と入力しました。 するとセルF4の野菜の価格が0円になってしまいました。 セルF4の野菜の価格が150円と表示するためには,どうしたらよいでしょうか。 よろしくお願いいたします。  A          B    C        D    E    F 1        東京                     東京 2米     1000                米  1000 3ビール    230               ビール  230 4米                         野菜     0 5野菜    6ビール 7野菜      150

  • #N/A の消し方

    セルI11に =INDEX(形材!D:D,MATCH(B11&C11&D11,INDEX(形材!$E$1:$E$10000&形材!$F$1:$F$10000&形材!$G$1:$G$10000,),0))&"" 上記の関数だと、B、C、Dに何も入力しなくてもI11は空白なのですが、 違うシートのセルH7に =INDEX(部品!D:D,MATCH(B7,INDEX(部品!$E$1:$E$10000,),0))&"" を入れると、Bに何も入力しないとH7に#N/Aが表示されます。 #N/Aを表示させない方法はありますか

  • INDEX関数で(素人に毛が生えた程度なので解りにくいと思いますが・・

    INDEX関数で(素人に毛が生えた程度なので解りにくいと思いますが・・・)   1 2 3 10 A B C 20 D E F 30 G H I 1と10でA 2と20でE って引っ張れますよね。 これを   大 中 小 左 A  B C 右 D E F みたいに検索する行と列を「文字」したら全然動いてくれません。 どういう式にすればよいのでしょうか? INDEX以外の別な関数があるのでしょうか?? 宜しくお願いします

専門家に質問してみよう