Excel INDEX関数を使用してデータの行を増やす方法

このQ&Aのポイント
  • ExcelのINDEX関数を使用して、増えていくデータに対応する方法を解説します。
  • 具体的な手順や設定方法を説明しているので、初心者でも簡単に理解できます。
  • データの行が増えても対応できるようにするための方法を詳しく解説しています。
回答を見る
  • ベストアンサー

この数式を増えていくデータに対応させたい

INDEX(Seet2!B$2:B$44,SMALL(IF(Seet2!$A$2:$A$44=検索セル,ROW(Seet2!$A$1:$A$43)),ROW(Seet2!B1))))) データはSeet2に記載され、この数式はSeet1に記しています。また、CTRL+SHIFT+ENTERします Seet2                Seet1 A列 B列 C列           G列              H列 検  デ  デ            検索セル 索  |  |            データ1(ここの数式)  データ2 値  タ  タ             データ1          データ2     1  2 現在の数式ではSeet2のデータ、44行目までしか対応できません。 しかしデータの行は増えていくもので対応させたいのですが、どこにどう入れたらいいのか分からなくなってしまいました 検索結果に複数でたとき、全て表示させる数式です。

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

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

=IF(COUNTIF(Sheet2!$A$2:$A$244,検索セル)<ROW(B1),"", INDEX(Sheet2!B$2:B$244,SMALL(IF(Sheet2!$A$2:$A$244=検索セル, ROW(Sheet2!$A$1:$A$243)),ROW(B1)))) と範囲を広げたら?

その他の回答 (1)

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

数式を =IF(ROW(G1)>COUNTIF(Seet2!$A:$A,$G$1),"",INDEX(Seet2!B:B,SMALL(IF(Seet2!$A$1:$A$44=$G$1,ROW(Seet2!$A$1:$A$44)),ROW(G1)))) に変えます。 数式を =IF(ROW(G1)>COUNTIF(Seet2!$A:$A,$G$1),"",INDEX(Seet2!B:B,SMALL(IF(Seet2!$A$1:$A$999=$G$1,ROW(Seet2!$A$1:$A$999)),ROW(G1)))) とかに変えてCtrl+Shift+Enterで入力し,以下コピーします。 #余談ですがSheet2とSeet2を間違えないよう,よく確認して作成してください。

関連するQ&A

  • googleドキュメントで配列数式を使う場合に

    http://support.google.com/docs/bin/answer.py?hl=ja&answer=71291 こちらのページで説明がされているのですが、CTRL+SHIFT+ENTERで行う配列数式はgoogleドキュメントではARRAYFORMULAを使い、計算するようなのですが IF(COUNTIF(Sheet2!$A$2:$A$444,$E$59)<ROW(Sheet2!B1),"",INDEX(Sheet2!B$2:B$444,SMALL(IF(Sheet2!$A$2:$A$444=$E$59,ROW(Sheet2!$A$1:$A$443)),ROW(Sheet2!B1)))) というちょっと長い数式になると、どこに入れたらいいか分からなくなりました Sheet1に↑の数式が入れてあり、検索したい値はE59セルに Sheet2には取り出したいデータ A列にデータ(検索用)、B列にデータ1、C列にデータ2とあり、 この数式はA列にあてはまるB列のデータ1全てを取り出すものとなっています。

  • 再度、Excelの数式について、今朝

    再度、Excelの数式について、今朝 今朝、KURUMITO様から、下記1)~3)の条件での数式を親切に教えて頂きました。 教えて頂いた数式 =SUMPRODUCT(A4:A55,B4:B55)/H2 その後、条件が1)2)は同じですが、4)が増えたため3)が5)に変更になりました。 自分なりに次のように作ったのですが、エラーになります。=SUMPRODUCT(C4:C55="S")*(A4:A55,B4:B55)/H2 正しい数式を教えてください。バージョンは Excel2003 です、 宜しくお願いいたします。 1)A列 A4からA55まで、数字のデータが入ってるセルと、入ってないセルがあります。 2)B列もA列同様、B4からB55まで、数字のデータが入ってるセルと、入ってないセルがあります。(データの入ってる行は、A列で入っていれば、B列の同じ行に入っています)、 3)A列とB列のデータの入っている行を順番に4から55行まで、掛け算をして(例えば、A5*B5)、その4から55行まで合計を、H2に入っている、ほかの合計の数値で、割り算をする計算式をK2のセルに、一つにまとめて入れ、計算結果を表示したいのです。 4)C列もA列B列同様、C4からC55まで、B又はSの”文字のデータ”が入ってるセルと、入ってないセルがあります。(データの入ってる行は、C列(文字データ)で入っていれば、A列(数字データ)、B列(数字データ)の同じ行に入っています) 5)C列の”文字データ”がSならばA列とB列のデータの入っている行を順番に4から55行まで、掛け算をして(例えば、A5*B5)、その4から55行まで合計を、H2に入っている、ほかの合計の数値で、割り算をする計算式をK2のセルに、一つにまとめて入れ、計算結果を表示したいのです。

  • 数式に関するご質問

    A列からB1セルの文字列を検索し、 該当した場合行番号を返す、という数式はございますでしょうか。

  • エクセルの数式についてお尋ねします。

    数千個の単語帳を逐次ソート、整理しています。 =IF(($A9=$A10)*AND($B9=$B10),"★","○ ") A列に英単語とB列にそれに対応する日本語を入力しました(2行目以下)。 数千個の単語帳ですので、重複があります。それで、データ並び替えで整列させたあと、上下の同一セルをチェック、異なれば○、同一であれば★をC列に表示させました。 上は、セルC9の数式です。 今度は、C列を見ていくのですが、これが面倒ですので、セルC1に、その下のC列上の★マークの数を表示させたいのですが、可能でしょうか。 C列(2行目以下)には、上の数式が入っています。 よろしくお願いします。

  • エクセルVBA、数式の入ったセルのコピーについて質問です。よろしくお願

    エクセルVBA、数式の入ったセルのコピーについて質問です。よろしくお願いします。 シートのA列は日付の入ったセルがあり、データを更新する度に行が追加されていきます。 数式(1)~(3)は、それぞれ異なる計算式が入っており、日付データを参照して計算を行っています。   A    B    C    D 1 日付データ 数式(1) 数式(2) 数式(3) 2 日付データ 数式(1) 数式(2) 数式(3) 3 日付データ   4 日付データ   5 日付データ   A列にデータが追加したときに、B~D列の数式をA列の最終行までコピーしたいのですが、 どのようなコードを書けばよいでしょうか? ちなみに、1行目のB~D列には、データ更新の有無に関わらず、必ず数式が入っているものとします。 何かよいアドバイスがあればよろしくお願いします。 【補足】 単純に考えると、B1~D1をA列の最終行までAUTOFILLすれば良いのでしょうが、データ数がかなり多く、 この方法だと時間がかかってしまいます。A列のデータ追加前の数式セルの最終行から、追加後の最終行までとすると、処理は早くなるのでしょうか?

  • Excel の数式を教えて下さい。

    Excel 2003 を使用しております。 A列 の A2 から A10 のセルに数値データが入っています。 この A列 数値データの中の最大数値のセルと、同じ行の E列 のセルの数値を B1 のセルに表示する数式を教えて下さい。 要約: A列 の最大数値のセル、例えば、A5 とすると E5 のセルの数値をB1 のセルに表示。 宜しくお願いいたします。

  • エクセルの関数について。

    エクセルの関数。 Sheet1の作業列1のA2セルに =IF(COUNTA(Sheet2!2:2)=0,"",IF(Sheet2!A2="",A1,Sheet2!A2)) →数式1とする 作業列2のB2セルに =IF(A2=$D$2,ROW(),"") →数式2とする という数式を入れA2・B2セルを範囲指定 → B2セルのフィルハンドルで下へコピーしておきます。 (Sheet2の行数以上コピーしておく) そしてE2セルに =IF(COUNT($B:$B)<ROW(A1),"",INDEX(Sheet2!B:B,SMALL($B:$B,ROW(A1)))&"") →数式3とする という数式を入れオートフィルで列方向・行方向にコピーする。 教えて頂きたいことは、数式1、数式2、数式3が何を意味しているのか。 と、この数式を使って、表を作成したのですが、ある特定の数字(コード、D2セルに入力)を入力しても反応してくれない。 (E2~H2まで、空白セルの状態になります。) (sheet2は約1200行あります。) 教えて頂けないでしょうか?

  • データを集計したいのですがどのように数式を作れば?

    初めて質問箱に投稿させていただきます。よろしくご指導下さい。 ※ シート(1)にデータ、シート(2)に結果を求める。 ※ シート(1)のA列に大分類(8項目)、B列に中分類(35項目)、C列に小分類(15項目)、D列に金額   を入力します。  これを2行から99行に色々な組み合わせのデ-タを入力したシートを基にして    ※ シート(2)のB列2行~D列2行に、シート(1)のA列~C列のデータの中で組み合わせの1番多い組   み合わせを表示し、シート(2)のE列2行にその組み合わせの金額の合計額を表示する。 ※ シート(2)のB列3行~E列3行以降の行に、シート(1)の組み合わせの2番目以降の順に表示する   という具合に、すべての組み合わせとその計金額を表示する。 ※ このような求め方をするためには、どのような数式をつくればよいのでしょうか。ご指導ください。                                                               シート(1)の例       A列      B列      C列     D列 1行  大分類    中分類    小分類    金 額 2行    3       B       あ      1,000 3行    2       C       あ        500 4行    3       B       い        500 5行    1       A       う       1,500 6行    2       C       あ      1,000 7行    3       A       う       1,500 8行    3       B       あ        800 9行    2       C       あ        600 10行   1       A       う         700 11行   3       A       あ         200 12行   3       B       あ       1,000 13行   5       A       い         100 14行   2       C       あ         200 15行   3       A       う         700 ~ 99行 計                      10,300   シート(2)の例  (上記シート(1)の例の集計結果をシート(2)の例のように表示したい)       A列   B列    C列     D列      E列 1行   回 数  大分類  中分類   小分類   金  額   2行    4    2      C      あ     2,300 3行    3    3      B      あ     2,800    4行    2    1      A      う      2,200 5行    2    3      A      う      2,200 6行    1    3      B      い       500 7行    1    3      A      あ       200 8行    1    5      A      い       100 9行 10行 ~ 30行   計                       10,300      

  • エクセルの関数の数式がわかりません。

    A列 B列 1 10 2 20 3 30 a 4 40 エクセルの関数の数式がわかりません。 B1~B4のどこかにaの入力があった場合、aの入力がある行と同じ行のA列に入力されている数字を別のセルに表示させたいです。 例えば、上記のようにB3にaがあるので、A3の30を、別のセルに自動で30と出るようにしたいです。 B列には、ランダムにaを入力しますので、aが別の行にある場合もあります。 この場合の数式を教えてください。 よろしくお願い致します。

  • エクセルについての質問です。こんなことはできるのでしょうか?

    エクセルについての質問です。こんなことはできるのでしょうか? まず「データ」という名前のシートのA列に動詞,名詞など品詞が入っています。B列に高1,高2など学年が入っています。C列に数字(2や3など)が入っています。D列に英単語が入っています。E列に日本語訳が入っています。F列は作業列でF2のセルに=IF(AND(A2=問題作成!$A$2,B2=問題作成!$B$2,AND(C2>=問題作成!$C$2,C2<=問題作成!$D$2)),ROW(A1),"")が入っており,以下のセルに数式がコピーされています。 次に「問題作成」というシートのA5セルに=IF(COUNT(データ!$F$2:$F$2294)<ROW(A1),"",INDEX(データ!D$2:D$2294,SMALL(データ!$F$2:$F$2294,ROW(A1))))が入っており,以下のセルに数式がコピーされています。B5セルには=IF(COUNT(データ!$F$2:$F$2294)<ROW(B1),"",INDEX(データ!E$2:E$2294,SMALL(データ!$F$2:$F$2294,ROW(B1))))が入っており,以下のセルに数式がコピーされています。 「問題作成」のシートのA2セルは動詞や名詞など品詞が選択できるようになっています。B2セルは学年が選択できるようになっています。 この後,C2セルにWordでページを指定して印刷するときのように,2-3,6,8のように入力すると,「データ」のシートからそのページに該当する単語のみを「問題作成」のA5,B5以下に引っ張ってくるようなことはできますでしょうか? また,入っている数式に問題があれば,お教え願いたいのですが。 よろしくお願いいたします。

専門家に質問してみよう