EXCELでテーブルのデータを自動的に参照する方法

このQ&Aのポイント
  • EXCELでテーブルのデータを自動的に参照する方法について解説します。
  • 質問者はAテーブルとBテーブルがあり、Bテーブルの3行目にAテーブルの数字を自動的に参照したいという問題があります。
  • H(V)LOOKUP関数やIF文ではうまく処理できなかったため、他の解決方法を探しています。
回答を見る
  • ベストアンサー

EXCELでテーブルのデータを自動的に参照する方法

下記のようなAB2つのテーブルがあります。  <Aテーブル>   (1)1行目は数字の連番です。   (2)2行目は1行目の数字の頻出数です。  <Bテーブル>   (1)1行目は数字の連番です。   (2)2行目はLARGE関数でAテーブル(2)の頻出数を大きい順に並べた数値です。   (3)3行目に(2)の頻出数に該当するAテーブル(1)の数字を参照して、自動的に設定したいのですが、その方法が分かりません。(頻出数が同じ場合は若い数字順に参照します) 具体的には以下 Aテーブル  01 02 03 04 05 06 07 08 09 10   2 4 1 0 3 4 2 1 2 3 Bテーブル  01 02 03 04 05 06 07 08 09 10   4 4 3 3 2 2 2 1 1 0 02 06 05 10 01 07 09 03 08 04 以上、Bテーブルの3行目の設定は人手による操作を無くしたいのですが、H(V)LOOKUP関数やIF文ではうまく処理できませんでした。 何方かお知恵を貸して頂けませんか? よろしくお願いいたします。

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

  • ベストアンサー
回答No.1

1行目の数字の連番は、01,02,・・・となっていますが、 数字として扱えますか?(書式設定で、00等にしていますか?)それとも文字列ですか? 以下は数字として扱える場合です。 ・Aテーブル(Sheet1)、Bテーブル(Sheet2)で作成しています。 ・配列数式ですので、[Enter]のかわりに[Ctrl]+[Shift]+[Enter]を押してください。 A3セルに =SMALL(IF(Sheet1!$A$2:$J$2=A2,Sheet1!$A$1:$J$1,""),COUNTIF($A$2:$J$2,A2)-COUNTIF(A2:$J$2,A2)+1) 前後に{}が付くと思います。 (前0付きませんので、書式設定で変更してください。) 後はコピーしてJ3セルまで貼り付けでどうでしょうか? 文字列の場合、#NUM!と表示されます。 数字でない場合は、補足してください。また、考えてみます。

aquas412
質問者

補足

ご返事が遅くなり、済みません。 ご回答の内容を試してみました。 最初は配列数式が分からず、折角のコメントを無視して、思うような結果ではなかったのですが、漸く気が付いて [Enter]のかわりに[Ctrl]+[Shift]+[Enter]を押しました。 ご指摘の様に前後に{}が付いて、結果はバッチリ!OK。 感動ものでした。! あんなに苦労していたのが、こんな1行でできるとは思ってもいませんでした。 大変助かりました。どうもありがとうございました。

関連するQ&A

  • エクセルのFIND関数の複数セル参照について

    C4=LOOKUP(0,0/FIND(B4,テーブル1[アドレス]),テーブル1[名称])  「テーブル1」の「アドレス」列を部分一致で検索し、「B4」セルの文字列に該当する項目があったら、「テーブル1」の「名称」列のデータを「C4」セルに表示するよう、インターネット上の情報を参照しながら数式を組んでいます。  ところが、「B4」セルの文字列に該当する項目があるときはいいのですが、該当項目がない場合は「#N/A」と表示されるため、「IF」関数を追加し、以下のようにしたところ、うまく動きませんでした。 C4=IF(COUNT(FIND(B4,テーブル1[アドレス])),LOOKUP(0,0/FIND(B4,テーブル1[アドレス]),テーブル1[名称]),"未使用")  「数式の検証」で調べたところ、「LOOKUP」関数内の「FIND」関数は「テーブル1」の「アドレス」列の各セルをそれぞれ参照しているのに対して、「COUNT」関数内の「FIND」関数は同じ行(C4の場合は4)の「テーブル1」の「アドレス」列しか参照していませんでした。 「LOOKUP」関数内の「FIND」関数のテーブル1[アドレス]: {"アドレス1";"アドレス2";"アドレス3"} 「COUNT」関数内の「FIND」関数のテーブル1[アドレス]: "アドレス4"  参照内容が異なるのはなぜでしょうか。  この場合、どのようにすればよろしいのでしょうか。  また、「LOOKUP」関数は「旧バージョンとの互換性を維持するためのもの」となっており、代わりに「VLOOKUP」や「HLOOKUP」、「MATCH」関数などで代用はできないのでしょうか。  何卒ご教示よろしくお願いいたします。

  • Excelで参照をして計算式を作る方法

    こんにちは。 Excelの数式で困っていますので、教えて下さい。 下のようなExcelの表で、 A2~D2、A3~D3、A4~D4の【数】にはゼロを含む何らかの数字が入ってて、 【空】は空欄です。    A列 B列 C列 D列 E列 1   1   2   3   4 2   数  数  数  数 3   空  数  数  数 4   空  空  数  数  E2、E3、E4に数式を入れたいのですが、2~4行目の数字が入っているか 入っていないかを1行目の数字に対応させて、 A2、A3、A4に数字が入っていれば、A1の数字を計算に入れて、空欄であれば 計算にいれない。 E2には1+2+3+4で【10】 E3には2+3+4で【9】 E4は3+4で【7】 というふうに数字が入っている欄だけを1行目の数字を絶対参照して合計を求めたいのです。 SUMIFという関数を使って、E2にSUMIF(A2:D2,▲,$A$1:$D$4)という式を入れてみたのですが、▲には半角スペース・*(アスタリスク)・?(クエスチョンマーク)などを入れてみたのですが、エラーで計算が成り立ちません。 ▲のところに【空欄】という意味のものを入れたいのですが、それがあるのかないのかわかりません。 もしくは、この数式を使うのではなく、他の数式を利用するのでしょうか? 説明が分かりにくいかもしれませんが、よろしくお願いします。

  • EXCEL シート間でのデータ参照

    例えば同じファイル内のSheet1に    A  B ←行 1  2  3 ↑ 列  のデータがあってSheet2にSheet1のデータを参照した関数を。何でもいいんですが例えば    A   1 合計 ←タイトル 2  5 Sheet1のデータの合計数をSheet2のA2に表示させるようなことって可能でしょうか? 同一のデータをシート単位で異なる関数を使って加工出来ればと思い投稿しました。よろしくお願いします。

  • Excelのセルの参照について

    Excelでセルを参照するにはB3やA7などのように指定しますが、以下のような参照はできるのでしょうか? 1、任意のセルに何らかの数字が入っている状態で 2、その数字を行として参照する。 たとえばA7に3という数字が入っているとします。 そのA7の値を行番号としてB3やC3を参照する、といった具合です。 あまりうまく説明できないのですが、情報が不足していましたらまた補足します。 よろしくお願いします。

  • エクセルでセル内の数字を参照することでアドレスを返す

    意味のわかりにくタイトルですみません。 例えばA1のセルにαという数字が入っていてB列のα行目にβという数字が入っている場合に、A1のセルを参照する形でβというを返す命令というのはできるのでしょうか。関数をいくつか見ていたら address(A1,2)とすると$B$αとB列α行目のアドレスは表示されるのですが、βという数字が返ってくるわけではなくうまくいかずに困っています。 申し訳ありませんがどなたか教えていただければ幸いです。

  • Excel 別シートのデータを自動で並べ替えつつ表

    お世話になります。 Excelで、以下のように2つのデータが並んだ表があるシート(1)を作ります。     A    B    C   F 1 タイトル 販売数 廃棄数 2 ●●●    50   20 3 ▲▲▲   45   30 4 ✕✕✕   40   35 このシートを複製し、全く同じシート(2)を作ります。 この時、シート(1)は販売数順、シート(2)は廃棄数順に並べつつ、両シートが連動するようにする方法はありますでしょうか? イメージ的にはシート(1)で追加・修正すると、自動でシート(2)にも反映するような。 LARGE関数等でやってみようと思いましたが、完成されてるデータならまだしも、行を追加したりするとズレてしまいます。 説明も表も下手で申し訳ないですが、分かる方いたら教えていただければ幸いです。

  • エクセル セル参照

    エクセルでセル参照について分からなく困っています。宜しくお願いします。 エクセル2000を使っています。 例えば、A1に5を入力した場合に ”B1セルから5行下のセルを参照” させたい時には、どのようにすれば良いでしょうか? AVERAGE関数などで AVERAGE(B1:B1から5行下) のようにしたいのですが・・・。 回答、お待ちしてます。

  • Excel2003ピボットテーブルのデータ参照

    ピボットテーブル内の値を=A1と参照しようと思い、=をクリックした後、参照したいセルをクリックしたところ =GETPIVOTDATA 関数になってしまいます。 Excel2000 のように単純に =A1 とさせるにはどのようにしたら良いのでしょうか?

  • Excelで飛び飛びのセルを参照したいのですが…

    とある表の1行飛ばしの数値を参照したいのですが、 セル番号を数式で表示することって可能でしょうか? 例えば、A1=1,A2=2,A3=3,A4=4,A5=5…だった場合だと、 1,3,5…(A1,A3,A5…)の値がほしいのです。 そしてそれをB1,B2,B3…と順に表示したいのです。 (B1=1,B2=3,B3=5…となるようにしたいです) 奇数か偶数かとかで判断するのではなく、 値がいくらに変わってもA1,A3,A5…の順に参照できるような方法はないでしょうか? 宜しくお願いします。

  • エクセルのVBAでの自動的に数字を入れ込む方法

    ご質問です。 エクセルのVBAで、セルAに縦に数字が入っているとして、 セルAの縦の数字が固有の時には、セルBには数字の1を。 セルAの縦の数字が同じ場合には、セルBには1からの数字の連番を。 入れていくには、どのような関数を書けばよろしいでしょうか? ご存知の方、いらっしゃればどうかご教授ください。 ---------------------------------------- セルA   |セルB | 828113341 | 1  |  828113342 | 1  |  828113342 | 2  |  828113342 | 3  |  828113343 | 1  |  828113344 | 1  |  828113344 | 2  |  828113345 | 1  |  ・ ・ ・ ---------------------------------------- 宜しくお願いいたします。

専門家に質問してみよう