• ベストアンサー

エクセルで別のシートの項目を参照(ちょっと急ぎです)

jindonの回答

  • jindon
  • ベストアンサー率43% (50/116)
回答No.4

>シート1とシート2には名前がついているので、置き換えればよいでしょうか。 Sheet1の部分を実際の参照するシート名に変更してください。 >恐れ入りますが、関数の解説(数式の意味)を教えて頂ければ助かります。 配列数式です。(webで検索してください) 各関数(countif, indirect, address, row, column, small)はHELPを参照してください。 これを全部説明しようとするとかなりなスペースになりますので、ご容赦願います。 数式に一部絶対参照が抜けたところがありましたので、下記に変えてください。 =IF(COUNTIF(Sheet1!$A$1:$A$100,"*")>=ROW(A1),INDIRECT(ADDRESS(SMALL(IF(Sheet1!$A$1:$A$100="*",ROW($A$1:$A$100)),ROW(A1)),COLUMN(A1),,,"sheet1")),"") なお、範囲 $A$1:$A$100 を変更する必要がある場合は すべて同一に変更してください。

noname#47315
質問者

お礼

たびたび有難うございます。 大変参考になりました。 これから意味を調べつつ試してみます。 有難うございました。

関連するQ&A

  • SUMPRODUCTにて別シートのデータを参照する方法

    Excelの関数について質問です。 SUMPRODUCTにてAシートのデータを列ごと参照し、 Bシートの特定の場所に出力する方法を探しています。 自分で調べ、以下の方法でデータを参照しようとしましたが、 うまくいきませんでした。 【試した内容】 = S U M P R O D U C T ( ( A ! E : E = B ! B : 2 ) * ( A ! F : F = B ! B : 3 ) ) 【やりたい事】 AシートのE列全ての中でBシートのB列2行目と一致する条件で、 且つAシートのF列全ての中でBシートのB列3行目と一致する条件のものを参照したい。 どこが悪いか、又こうすればいいのでは等アドバイスがございましたら 宜しくお願い致します。 出来れば具体例があると助かります。

  • エクセルで別シートを参照

    「あ」のシートに"社員番号"(A列)と"カナ"(B列)のリストがあり、 「い」のシートには"社員番号"(A列)と"漢字氏名"(B列)・"部署"(C列)のリストがあります。 「あ」のシートのC列とD列に、「い」のシートのB列とC列を表示させるにはどうしたらよいでしょうか。 新規に社員番号を入力していく場合は、VLOOKUPなどで出来ると思いますが、すでに入力済みのデータについて一括で参照する方法が判りません。 よろしくお願いいたします。

  • エクセル ブック内のシート間での行の参照?

    エクセルの同じブック内のシート間で、セルを参照するのではなく、行参照?させたいのですが・・・。 例えば、、  シート1    A    B    C    D     1行目 りんご みかん いちご ぶどう     2行目 赤    オレンジ  赤   紫 と入力すると同じようにシート2にも入力されるようにしたいのと、1行目と2行目の間に行を挿入しても同じようにシート2にも挿入されたり、 さらにはA列・B列のみ入力されたりするようにしたいのですが、(C列D列には別々のデータを入力したい)どのような方法がありますでしょうか?説明がわかりにくく申し訳ないのですが、宜しくお願いします。

  • excel 別シートから複数項目を取得

    こんばんは。エクセルについて質問があります。 今、エクセルで同じ構造で中身の違うデータベースの様なシートを数枚作り、 そこから参照して、別の入力シートにそのデータを引っ張って来るということをしたいです。 調べてみた感じVLOOKUP関数などを使うのかなと思うのですが、 どうもうまいこといきません。 DBのような扱いをしているデータシートの構造は 【データシート】 A1(クラス名)列| B1(番号) 列 | C1(名前:漢字) 列 | D1(名前:かな) 列 | ------------------------------------------------------------------- A2   1-1 |  B2 1番 | C2 鈴木 太郎   | D2 すずき たろう   | のようなデータの入れ方をしており、クラスは1-7まである感じで、 B1の列はA1列のクラスの人数分が連番になっています。 なので、番号は重複してる部分が多いです。 これが複数枚シートあるといった具合です。 データを反映させたいシートも前4列は同じ様な構造をしています。 これにあと複数列足した感じになってます。 【反映させたいシート】 A1(クラス名)列| B1(番号) 列 | C1(名前:漢字) 列 | D1(名前:かな) 列 | E1 別項目 |… -------------------------------------------------------------------------------- A2  3-7  |  B2 2 | C2 田中 次郎   | D2 たなか じろう   | ×× |… ここで名前列に名前(漢字、もしくはかな)を入れるか、 もしくはクラス名+番号ですぐさま該当シートの特定し、 合致するE列以前の残りのデータを全て取得してくる。 反映させたシートのE列などに入れたデータを 今度はデータシートへとリンクさせるという風な プログラムを組みたいです。 こういった具合のエクセルシートを作成したいのですが、 どのようにしたら良いでしょうか? プログラムの様にIF文などを使用する感じになるのでしょうか? それともデータのシートに別でIDなどユニークな値を各々の データに割り振らないとダメでしょうか? また参考として知りたいのですが、 1行に引っ張りたくないデータが多数あっても行単位で3列の分だけ取得して、 1行にある3列分のデータを同じ1行3列に反映させることは可能でしょうか? 説明が下手で意味が解り辛い所もあるかもしれませんが、 回答よろしくお願いします。

  • エクセルで、2つのセル値(2つの条件)から、別シートの表から該当する値を参照する方法

    シート(1)のA列とB列のセルに入力されている値を元に、 シート(2)の表を参照し、該当する値をシート(1)のC列に 表示させる方法があれば 教えて頂けると助かります。 なおシート(1)のA列は、参照するシート(2)の表の列タイトルに対応し、 シート(1)のB列は、シート(2)の行タイトルに対応するマトリックス表に なっております。 また、この列行タイトルの表記は「1から」または「1から9まで」 という範囲での表示になっています。 (例:シート(1)元データ) No| A列 | B列 | C列 | --------------------------------- 1 | 07  |  22  |  20 | ←C列は、シート(2)表を参照  2 | 18  |  15  |  30 |        3 | 01  |  09  |  05 |       4 | 21  |  03  |  30 |  5 | 30  |  28  |  35 |  (例:シート(2)参照する表) A列\B列 | 1~9| 10~19 | 20~29 | -----------------------------------   01~  | 05  |  10  |  20  |         05~  | 15  |  15  |  20  |           10~  | 20  |  25  |  30  |        15~  | 25  |  30  |  30  |    20~  | 30  |  35  |  35  |  現在、手作業でC列への入力を行っております。 何とか、作業効率を上げたいと思っておりますので、 ご指導下さいます様 宜しくお願い致します。

  • Excelセルの参照

    Excelにdataとnという2シートがあります。dataシートのA列3行目~22行目にデータが縦入力されており、以降B列、C列とデータ入力が繰り返されます。 nシートでdataシートの入力値参照のため、あらかじめdataシートの参照リンクを貼っておきたいのですが、nシートのデータは横並びであるせいか、参照リンクをうまくコピーすることができません。 dataセルのA3セルの値をnシートのD1に=data!A3と貼り付けて、W1(=data!A22)まで数式を自動コピーできないでしょうか。また、D2~W2まで=data!B3~=data!B22など参照リンクをコピーで作成できないでしょうか。 よろしくお願いいたします。 横並びに参照する必要があるのですが、

  • エクセルの空白を詰めて別シートに表示

    sheet1のデータを参照して、空白を詰めてsheet2へ表示させたいんです! sheet1(元データになるもの)  A列 |B列|C列・・・ 1行目A|100|100 2行目B|  |200 3行目C|100| 4行目D|  |200 5行目E|100| 6行目F|  |100 ・ ・ sheet2(sheet1でB列に入力があるものを抽出)  A列 |B列 1行目A|100 2行目C|100 3行目E|100 sheet3(sheet1でC列に入力があるものを抽出)  A列 |B列 1行目A|100 2行目B|200 3行目D|200 4行目F|100 sheet2のA1に下記の式を入力してA列とB列に数式をコピー =IF(COUNT(Sheet1!$B$1:$B$6)<ROW(A1),"",INDEX(Sheet1!A$1:A$6,SMALL(IF(Sheet1!$B$1:$B$6<>"",ROW($A$1:$A$6)),ROW(A1)))) すると下記のように表示されます。 A1=A     B1=100 A2=#NUM! B2=#NUM! A3=#NUM! B3=#NUM! 4行目から空白 sheet2のA2のところにエラーが出ていますが、「関数の引数」のところで「数式の結果」には「100」と 正解が表示されています。(B2、A3、B3も同様に)数式の結果のところには正解が表示されています。 答えの「#NUM!」のところに正解を表示させるには、どうしたらいいですか? 見よう見まねでつくったのもで。。。関数にあまり詳しくありません。 よろしくお願い致します。

  • excelでデータを別シートに引っ張ってきたい

    excelで値を検索し、返す時、返す値の横にあるデータを違うシートのセルの下に一緒に引っ張ってきたいときの関数(方法)を教えてください。 素人なので分かりにくいと思いますが、お知恵をお借りしたいと思います。 あるデータのシートの検索値を別シートに持ってきたいのですが、シート1をシート2のようにしたいのです。 /は空白 例)シート1 /A B C D E 1(1) □ ○ ▽ ◎ 2 (2) ▼ ■ ◇ ◎ シート2 / A B C D 1 (1) □ 2 /○ ▽ ◎ 3 (2) ▼ 4 /■ ◇ ◎ 分かりにくいかもしれませんが、 シート1の(1)(A1)を検索すると、シート2(B1)に□(これはVLOOKで引っ張ってこれるのはわかります。) 次にシート1の(C1)○をシート2の(B2)へ持ってきたいのです。シート1(D1)(E1)はシート2の(C2)(D2)へ。 しかもシート1のC列は空白セルもあり、シート1のC列が空白の場合、下にずれることなくシート1の(D1)(E1)はシート2の(C1)(D1)へ。下記<図a>のようになるようにしたいのです。 そして、シート2のA列に検索値として入力する(1)や(2)の値は連番ではなく、(2)の次に(5)に飛んだりします。(2)の行のC列にデータがあっても、(5)のC列にデータはないこともあります。<図b> <図a> /A B C D 1 (1) □ ▽ ◎ 2 (2) ▼ ◇ ◎ <図b> / A B C D 1 (1) □ 2 /○ ▽ ◎ 3 (2) ▼ 4 /■ ◇ ◎ 5 (5) □ ▽ ◎ 6 (7) ▼ ◇ ◎ vlookとかCLUMN関数とか考えてはみたのですが、どうもうまくいきません。 毎回作成するデータなのですが、毎回コピペで作成しています。 とても面倒なので(1)を検索したらデータが一瞬で検索できるようにしたいと試みてはみたものの、私の知識では不可能でした。 関数では無理なのでしょうか。。。 関数はあまり詳しくないので分かりやすい方法があれば、教えていただければ助かります。 関数に詳しい方、よろしくおねがいいいたします。 関数にはこだわっていません。違う方法があればそれも含めておねがいいたします。

  • Excelで別sheetの参照について

    エクセルで別sheetの参照についての質問です。 画像のようにsheet1の値を参照してsheet2表示させたいのですが、これを約100件分作成したいのですがコピー&ペーストをすると参照セルがずれてしまいます。 sheet2のA1をコピーしてA4に張り付け=Sheet1!A2&Sheet1!B2&Sheet1!C2としたいのですが、A4に張り付けを行うと=Sheet1!A4&Sheet1!B4&Sheet1!C4となってしまいます。 複数行あけてペーストする場合に参照セルを1行ずつずらして参照する方法はありますでしょうか?

  • エクセルシートの行列入れ替え参照

    エクセルのシートで、行と列を入れ替えて参照する ことができるでしょうか? 例えば、参照元のSheet1が以下の様になっていると します。 参照元<Sheet1> A   B    C 1  佐藤   遠藤   鈴木 2  数学   国語  社会 3  100    80   70 これを、Sheet2で以下の様に参照したいと思って います 参照先<Sheet2> A    B    1 =Sheet1!A1 =Sheet1!A3 2 =Sheet1!B1 =Sheet1!B3 3 =Sheet1!C1 =Sheet1!C3 1行目に数式を入れて、2行目以下にドラッグして コピーしようとすると、 =Sheet1!A1 =Sheet1!A2 =Sheet1!A3 の様になってしまうので、どうしたものかと途方 にくれております・・・。 以上、解決策を教えて頂けますと大変助かります。 よろしくお願い致します。