• ベストアンサー

複数の列の最後の数値を返す

一列 (たとえばA列のみ)の最後の数値を返すという ご質問は多々見られますが 複数列 A列   D列   F列の中から 一番最後に出た数値を返すやり方が解りません。 D列 15行が最後の時もあれば F列2行の時もあるという感じです。 ちなみにSheet1のをSheet2に返したいです。

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

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

Sheet1 H1 =hlookup(10^100,offset(a1,max(index((a1:a3000<>0)*row(a1:a3000),),index((d1:d3000<>0)*row(d1:d3000),),index((f1:f3000<>0)*row(f1:f3000),))-1,0,1,6),1,1) Sheet1 から Sheet2 への参照にしたいのであれば、「Sheet1 に」上式を記入した後で、そのセルを「切り取って」、Sheet2 に貼り付けてください。Excel が勝手に「Sheet1!」を付加します。 なお最終行に複数の数値が記入されている場合は、そのうち最終列の値を表示します。

kuutaro4027
質問者

お礼

うまくいきました。 ありがとうございました。 コピーでなくて「切り取り」「貼り付け」 でSheet!とは 目からうろこ状態です。 いいこと一つ覚えました。

kuutaro4027
質問者

補足

ありがとうございます。 チョー複雑ですね。 早速チャレンジしてみます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

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

こんばんは! 一例です。 ↓の画像で右側がSheet2で左側がSheet1とします。 Sheet2の1行目に検索したい列番号を入力しておきます。 (今回はA・D・F列というコトですので、その三つだけを入力しています) Sheet2のA2セルに =MAX(IF(INDIRECT("Sheet1!"&A1&1&":"&A1&1000)<>"",ROW(A1:A1000))) これは配列数式になってしまいますので、Shift+Ctrl+Enterで確定! この画面からコピー&ペーストする場合は 上記数式をドラッグでコピー → Sheet2のA2セルを選択 → 数式バー内に貼り付け → そのまま(編集可能のまま) Shift+Ctrlキーを押しながらEnterキーで確定! 数式の前後に{ }マークが入り配列数式になります。 このA2セルをC2セルまでオートフィルでコピー! (検索列数が多い場合は1行目の列番号を入力している列までコピー!) 最後に結果のA5セル(配列数式ではありません)に =IF(COUNTIF(2:2,">0"),INDIRECT("Sheet1!"&INDEX(1:1,,MATCH(MAX(2:2),2:2,0))&MAX(2:2)),"該当データなし") という数式を入れています。 最終データ行が同じ列が複数ある場合は最初の列(左側の列)のデータが表示されます。 ※ 配列数式はPCにかなりの負担を掛けますので、Sheet1の1000行目までの数式としています。 実際は3000行程度であれば問題ないと思います。m(_ _)m

kuutaro4027
質問者

補足

けっこう複雑なのでじっくりやってみます。 返事が遅くなるかもしれませんがご容赦ください 皆様ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。
  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

数値以外のデータが有ったり、行の間に数値以外のデータやブランクがあると正しく表示されませんが、 =MAX(INDIRECT("R"&MAX(COUNT(A:A),COUNT(D:D),COUNT(F:F))&"C"&"1",FALSE),INDIRECT("R"&MAX(COUNT(A:A),COUNT(D:D),COUNT(F:F))&"C"&"4",FALSE),INDIRECT("R"&MAX(COUNT(A:A),COUNT(D:D),COUNT(F:F))&"C"&"6",FALSE))

kuutaro4027
質問者

補足

こりゃすごい! 早速挑戦してみます。 もう一点、A列 5行目から30行まで範囲を指定する場合 (A5:A30)   同様に(D5:D30)と置き換えるのでしょうか。 また素人ながらこれだとSheet1の値をSheet2に返すようになってないのでは? それでもSheet1!で参照すればいいことですよね。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 複数列のデータを1列にまとめるには?

    複数列のデータを1行にまとめるにはどうすればいいのでしょう? A2からZ32までデータが入っており それを一列にまとめたいのです。 お願いします

  • エクセルで複数ある同じ数値の行を1つだけにしたい

    初めて質問させて頂きます。 エクセルについての質問です。 バージョンは2002です。 複数ある行の中で、同じ数値がいくつかある場合、それを1行だけにする方法はありますでしょうか? 同じデータが複数ではなく1つだけにしたいのです。 ___A____B____C___ 1│330│220│520│ _________________ 2│330│ 80│890│ _________________ 3│330│ 72│ 69│ _________________ この様な場合、A列に同じ数値が入っている場合 1行のみ残したいのです。 何か良い方法ありましたら教えてください。

  • 複数列を1列に表示させて追加する方法。

    どなたかご存じでしたらご回答をお願いします。 エクセルシートのA列~J列に値が入っており、それぞれの最終行に値を追加しております。 【質問】  A列~J列まで値の入ったエクセルシート(各種値)を別エクセルシート(纏め)のA列に  1つに纏め、エクセルシート(各種値)のA列~J列の最終行に追加されるたびに  エクセルシート(纏め)の最終行に追加する方法が知りたいです。 ●エクセルシート(各種値)  A   B  C  D  E  F  G  H   I   J                :  111 222 333 444 555 666 777 888 999 000  123 456 789 112 223 334 445 556 222 778 <= 最終行追加! ●エクセルシート(纏め)  A   :  111  222  333  444  555  666  777  888  999  000  123 <= A列最終行  456 <= B列最終行  789 <= C列最終行  112 <= D列最終行  223 <= E列最終行  334 <= F列最終行  445 <= G列最終行  556 <= H列最終行  222 <= I列最終行  778 <= J列最終行 【注意事項】   ・A列~J列に入っている値には同じ値が入る場合があります。(重複あり)   ・使用するエクセルは2010です。 以上、よろしくお願いします。    

  • 数百行の複数列を1列にしたい。

    1 2 3 4 5,,,,,,,,,, 234 235 236,,,,,,,,, とエクセルで並んでいる数値が数百行、数百列あります。 これを 1 2 3 4 5 . . . 234 235 236 という一列に変換したいのですが 良い方法を教えて下さい。

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

    エクセルで行から数値を検索し、検索した数値のある列から左側の全ての合計を求めたいです。   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 rankで範囲を複数のシートから指定する?

    excelで複数のシート(仮にsheet1,sheet2)のA列の複数行に数値が入っています。 それぞれのシートのA列のとなりの列にsheet1,sheet2のA列にある全ての数値の中での順位を出したいです。 rankを使うときに範囲を複数のシートにまたがって指定できますでしょうか? よろしくお願いします。

  • エクセルマクロで条件に該当する数値を探す

    エクセル初心者です。 シート1のA1~A18に1~18の数値がランダムに入っています。(重複した値は無し) シート2の3行目C3~T3にも1~18の数値がランダムに入っています。(空欄あり、重複した数値は無し) シート2の2行目C2~T2までは左から順に1~18の数値が入っています。(順位表示) 以上の条件下で下記の作業をマクロで実行させる式を教えてください。 シート1のA1~A18の値と同じ値を、 シート2の3行目C3~T3の中からどのセル(列)に入っているかを確認して、さらに該当する列の2行目C2~T2の値を、シート3の1行目A1~R1に表示させる。 例:シート1のA1=3、A2=2、A3=1の時、 シート2のC3=3、D3=1、E3=2でした。 シート2のC2=1、D2=2、E2=3です(この行の数値は毎回同じ) 上記の時シート3にはA1=1、B1=3、C1=2となります。 *シート1のA列A1~A18とシート3の1行目A1~R1の位置関係はリンクしています。(列→行) シート1 A列 1 3 2 シート2   A列 B列 C列 D列 E列 2行見出し見出し1  2  3 3行見出し見出し3  1  2 シート3 A列 B列 C列  2  1  3 ご理解頂けたでしょうか? 初心者ですので分かりやすい回答を宜しくお願いいたします。

  • エクセルで文字列検索後隣のセルの数値と比較後カウン

    OKWave初めての書き込みです。 初心者な質問で申し訳ございませんが、 お分かりになる方、どうかご教授ください。 ◆質問内容 まずはじめに、エクセル内のデータはこのようになっております。 ▼シート1 A【年月日】 B【時間】 C【数値】 D【数値】 2011.09.17  17:00   10.50    12.21 2011.09.17  18:00   15.51    9.08 2011.09.17  19:00   5.51     99.22  ・  ・  ・ 2012.06.11  9:00    99.05    89.288 2012.06.11  10:00   29.05     80.20 2012.06.11  11:00   20.05     11.20 ▼シート2 A【7時】 B【8時】 C【9時】 ・・・ V【4時】 W【5時】 X【6時】 xxx    xxx    xxx       xxx    xxx    xxx シート2の各xxxには、下記の条件に当てはまるカウント数のみを表示したいです。 ★シート2のA1にある「2010.01.01」~シート2のA2にある「2012.03.02」の指定期間で ★シート1の指定時間(対象:シート1のB列)にあてはまる時間で ★その行のC列よりD列のほうが数値が多いカウント数 説明べたで申し訳ないですが、★の複数条件に当てはまるカウントした数値の計算方法を ご教授いただけましたらすごく幸いでございます。 本当に困っていますので、どうかよろしくお願いします。。

  • 行を列で参照する

    Sheet1に横6列で並んでいるデータがあります。 列は6列固定で、行はその時によって変動がありますが、少ない時でも500行はあります。 それを、 Sheet2のA列に参照させたいのです。 Sheet1 Sheet2 A1 →A1 B1 →A2 C1 →A3 D1 →A4 E1 →A5 F1 →A6 A2 →A7 B2 →A8 C2 →A9 . . . という感じに表示させたいです。 よろしくお願いします。

  • 複数列を一列にする方法

    Excelで複数列に渡るデータを1列にまとめたいのですが、カット&ペースト以外によい方法はありませんでしょうか。 例えば表にあるセルA1-A10、B1-B10、C1-C10、D1-D10、E1-E10のデータを F列のF1から下へ一列に並べるといった感じです。 A1-A10→F1-F10 B1-B10→F11-F20 C1-C10→F21-F30 D1-D10→F31-F40 E1-E10→F41-F50 よろしくお願いします。

専門家に質問してみよう