INDIRECT関数とCOUNTA関数の組み合わせは仕事でも活躍する場面が多いので、この機会にぜひためしてくださいね! スポンサーリンク (adsbygoogle = window.adsbygoogle || []).push({}); 会社員をしながらブログを書いています。経験したことやお役立ち情報などを、ライフスタイル全開で記事にしていきます。月間PV10万を突破!. エクセルで最終行のデータを取得したいと思ったことはありませんか?2つの関数を組み合わせるだけで、可変する表にも対応する式をつくることができます。応用編として別シートの最終行データを取得する方法もご紹介! 毎日お得なクーポンも!【楽天市場】, いらなくなったパソコンに処分費を払うのはもったいない。パソコンの売り方の紹介です。, あなたもジンドゥーで無料ホームページを。 無料新規登録は https://jp.jimdo.com から, スキャナーとパソコンの接続設定でユーザー名やパスワードが間違っていると出た場合は?, Excelで#N/AやDIV/0、#REF!などエラーの数をまとめてカウントする方法, excelのCOUNTIF関数で別ファイル・別ブックを開かず参照でもエラーにならない方法, エクセルのCOUNTIF関数で曜日の条件指定がうまくいかずカウントできない時の対処法. Excelのデータ処理をマクロで自動化しようと思ったら、必ずついて回るのが「最終行の自動取得」です。データの処理がどんなものであれ、まずはデータがどこまで入っているかを確認して、処理を実行する範囲を決めないといけません。 まとめ 【Excel】エクセルにて最終行を取得する方法【関数を用いて行の最後の値や番号を取得(空白ありの場合など)】 ここでは、エクセルにて最終行のデータを取得する方法について解説 … 今回は、スプレッドシートの関数で『動的な』最終行の行番号・内容を取得する方法を紹介させていただきました。 その可変データの最終行の情報と『indirect』関数を組み合わせると、仕事で自動化できることが増えてきます。 エクセルはデータ解析・管理を行うツールとして非常に機能が高く、上手く使いこなせると業務を大幅に効率化できるため、その扱いに慣れておくといいです。, ただ機能が充実しているあまり初心者にとっては処理方法がよくわからないことも多いといえます。, 例えばエクセルにてデータが入力されている最終行のデータを取得するにはどう処理すればいいのか理解していますか。, それでは、以下のサンプルデータを用いて最終行のデータを取得する方法について確認していきます。ここでは、データが連続している場合(空白セルなし)について解説します。, 以下のよう、最終行のデータを表示したいセル(ここではC2)に、「=INDEX(A1:A10,COUNTA(A1:A10))」を入力します。, COUNTA関数にて、A列のデータ範囲(A1:A10)より空白でないセルの個数を計算しています。データに空白セルはありませんので、計算したセルの個数=最終行となります。, ENTERボタンにて確定させます。A列のデータが入力されている最終行のデータを表示することができました。, なお、VBA(マクロ)にて最終行を取得・コピー等を行う方法は以下で解説しているため参考にしてみてください。, 次に、以下のサンプルデータを用いて最終行のデータを取得する方法について確認していきます。ここでは、データが連続していない場合(空白セルあり)について解説します。, 具体的には以下のよう、A列が空白かどうかを表示したいセル(ここではB1)に、「=IF(LEN(A1)>0,ROW(),0)」を入力します。, IF関数、該当セルの文字列の長さ計算するLEN関数、行番号を返すROW関数を組み合わせて使用します。, IF関数の「論理式」には、A1の文字列の長さを計算し0以上(空白でない)であるか否かを指定します。, ENTERボタンにて確定させます。オートフィル機能(計算したセルの右下にカーソルを合わせると出てくる十字をドラッグ&ドロップ)を使うことで、B列には、A列のデータが空白だった場合には「0」、空白でない場合には「行番号」が表示できました。, 次に以下のよう、最終行のデータを表示したいセル(ここではC2)に、「=INDEX(A1:A10,MAX(B1:B10))」を入力します。, MAX関数にて、B列の最大値を取得します。B列にはA列が空白セルでない場合のみ行番号を表示していますので、その行番号の最大値が最終行となります。, 基本的に、空白セルが存在しない場合にはCOUNTA関数とINDEX関数、空白セルが存在する場合にはIF関数、LEN関数、ROW関数、INDEX関数、MAX関数を組み合わせて使用することで処理できます。, 次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。, 【Excel】エクセルのVBA(マクロ)にて最終行の次の行(セル)に貼り付け等をする方法【別シートの最終行の取得やコピー】. MAXIFS関数を使って範囲の最大値を一つ又は複数条件で抽出する方法と代わりの方法, OFFSET関数の使い方 基準セルから指定した行数、列数移動し値を返す/範囲を合計, キーボードを打つ音がうるさい!!安価なものから高性能なものまで静音タイプのキーボード5選!!. 条件に合う最終行抽出3; 条件に合う最終行抽出4; if関数で特定の文字列を含む条件を指定する方法|if+countif関数; if関数の論理式で複数列全てが一致の条件を簡単に指定するテクニック; excelのif関数で3つ、4つなどの複数条件を指定して分岐させるには? B3セルの式をB4セルとB5セルにコピーすれば、それぞれA列にある店舗名のシートを参照して、そこから最終行の合計金額を取得できます。 スポンサーリンク (adsbygoogle = window.adsbygoogle || []).push({}); 表のデータが少ない場合や、シートの数が多くないなら、手作業で対象のセルを参照してもそんなに苦労はしないかもしれません。, しかし、可変対応できる式を一度作成しておくと、データが追加されて最終行の位置が変更されても自動的に参照してくれるため、あとの作業がかなりラクになります。. 普段エクセルで関数をあまり使わないという方でも、真似をするだけで最終行のデータ取得が可能になるので是非チャレンジしてくださいね! スポンサーリンク (adsbygoogle = window.adsbygoogle || []).push({}); たとえば、D1セルに「A1」という文字列が入力されているとします。 E1セルを選択した状態で、関数の挿入をクリック。, 関数の分類を「検索/行列」に変更して、一覧からINDIRECTを探します。 INDIRECT関数の引数は「参照文字列」と「参照形式」の2つですが、実際には「参照形式」は省略してもOK。, 参照文字列にD1セルを指定。 すると、E1セルに「=INDIRECT(D1)」という式が入力され、「日付」が結果と返されました。 ちょっとややこしいのですが、INDIRECT関数はD1セルに入力された文字列を参照しています。, そのため、たとえばD1セルの文字列をA1からA6に変更すると、E1セルには「8月5日」が表示されるわけです。, INDIRECT関数は。複数のセルに入力された文字列を組み合わせて利用することもできます。, C1セルに「A」、D1セルに「6」と入力して、INDIRECT関数で「=INDIRECT(C1&D1)」と参照すれば、A6セルを参照可能。 まわりくどい参照をする関数ですが、理屈がわかるとたくさんの使い道があるエクセル関数のため覚えておいて損はありません。. 日付が追加されたとしても、COUNTA関数がA列のデータの数を自動で求めてくれるため、常に最終行のデータを取得してくれます。 スポンサーリンク (adsbygoogle = window.adsbygoogle || []).push({}); たとえば、各シートに店舗の売上金額が入力されていて、それぞれの合計金額を1つのシートに集めたい場合です。 しかも、シートごとにデータが入力されている最終行は異なるという状況。, B3セルに、銀座店シートの合計が入力されているB6セルを入力すると「=銀座店!B6」なりますね。 同じシート内の最終行データを取得するのと、別シートの最終行データを取得することの違いは、参照に「シート名」が付くことだけです。, シート名だけ直接入力しても良いのですが、せっかくなのでINDIRECT関数を活用しましょう。 B3セルに「=INDIRECT(A3&”!”&”B”&COUNTA(INDIRECT(A3&”!”&”b:b”)))」と入力。, やっていることはシンプルで、式の「シート名」となる部分をA3セルに入力した店舗名をINDIRECT関数で文字列参照しているだけです。. エラーを除いてSUM関数で合計する方法|#VALUE!,#REF!,#N/A,#DIV/0! 楽天スーパーポイントがどんどん貯まる!使える! 表によってはどちらの関数でも同じ結果になることもありますが、COUNT関数では文字列のセルは数えないため、正しく最終行を把握できない可能性がありますね。 COUNTA関数とCOUNT関数は表に合わせて使い分けてください。 スポンサーリンク (adsbygoogle = window.adsbygoogle || []).push({}); 最終行に入力された日付を取得して、E1セルに表示させてみます。 エクセル関数を使わずにA列の最終日付を参照するとしたら、E1セルに入力するのはA4となりますよね。 では、INDIRECT関数とCOUNTA関数を組み合わせて、表の最終行に入力されている日付を求めてみましょう。, A4セルを「A」と「4」に分解して考えます。 日付は必ずA列に入力するため、「A」については固定でOKですが、問題はデータ追加される度に可変する「4」の部分。, E2セルに「=COUNTA(A:A)」と式を挿入し、A列の空白ではないセルの数を表示しました。 COUNTA関数でA列のデータが4という結果が返されていますね。, 「=INDIRECT(“A”&E2)」と入力することで、「A」と「4」を組み合わせた文字列「A4」セルを参照することになります。 E1セルにA列の最終行「8月3日」が表示されました。, E1のセルを「=INDIRECT(“A”&COUNTA(A:A))」に変更。 これでエクセルの最終行データを取得できるようになりました。. エクセルはデータ解析・管理を行うツールとして非常に機能が高く、上手く使いこなせると業務を大幅に効率化できるため、その扱いに慣れておくといいです。 ただ機能が充実しているあまり初心者にとっては処理方法がよくわからないことも多いといえます... エクセルはデータ解析・管理を行うツールとして非常に機能が高く、上手く使いこなせると業務を大幅に効率化できるため、その扱いに慣れておくといいです。 このコードは連続したセルである場合、正しく最終行を取得することができます。 以下のようなシートを用意してみましょう。A1にカーソルを置き、[Ctrl]+↓を押してみます。期待通りその列の最終行であるA10にカーソルが移動することがわかると思います。 随時データが追加される表で、最終更新日がすぐに分かるようにしたい。 膨大なデータベースの最終行に計算された合計を、シートの最上部に表示したい。 可変しない表なら苦労しませんが、最終行のセルの位置が固定されていない場合、データの追加や削除などがある度に参照するセルを変更する必要がありますよね。, エクセルで最終行のデータを求める手段を検索すると、マクロ(VBA)を利用する方法がよく紹介されていますよね。, しかし、マクロ(VBA)はエクセル初心者には敷居が高く、最低限の知識がないと活用することが困難なため、今回は関数を用いた手法をお伝えします。.