• ベストアンサー

エクセルで一番下のセルとその隣のセルを取得したい

おはようございます お世話になります 画像のように G1、H1にC列最新のセルとその右隣のDセル、 この場合はC3とD3を取得したいと思ってます 色々調べてみて C列は=INDEX(C:C,COUNTA(C:C))で取得出来たのですが D列がうまくいきません・・・ どうやればC列最新の右隣を取得出来るのでしょうか?

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

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

こんにちは! >C列は=INDEX(C:C,COUNTA(C:C))で取得出来たのですが・・・ でうまくいっているのであれば G1セルに =INDEX(C:C,COUNTA($C:$C)) という数式を入れとなりのH1セルまでオートフィルでコピーしてみてください。 ※ C列最終行の行番号を絶対参照にすればOKだと思います。m(_ _)m

kintetsu
質問者

お礼

こんにちは! ご回答ありがとうございます。 絶対参照を使用するのは思いつきませんでした・・・ おかげさまで目当ての表を作ることが出来ました 感謝感謝です。 ありがとうございました!

その他の回答 (1)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

COUNTA関数は式が入力されていて空白になっているセルが有る場合にはそのセルまでもカウントします。そのためお示しのケースで例えばC4セルに例えば=IF(A4="","",A4)の式が入力されていた場合にはC4セルは空白となっていますがCOUNTA(C:C)では4となり、正しい答えの3とはなりません。正しい答えを得るためには =COUNT(C:C) のようにすることが必要です。 したがって、望ましい式としてはG1セルに次の式を入力し、H1セルまで横にドラッグコピーすることでしょう。 =INDEX(C:C,COUNT($C:$C)) C列を絶対参照の形とすることでH列に式がコピーされてもC列でのカウントが使われることになります。 ところで、C列での最後の行のデータはその行までのすべてのセルに数値が入力されている場合には上の式で対応ができますが最後のデータの有る行までの途中の行に空白が有る場合には正しい答えを得ることはできません。 そのような場合にはG1セルには次の式を入力してH1セルまでドラッグコピーすることになります。 =INDEX(C:C,MATCH(10^10,$C:$C))

kintetsu
質問者

お礼

ご回答ありがとうございます。 COUNTAを使うとそういう場合は対応できないんですね・・・ 修正してみます。 空白がある場合の式も非常に参考になります。 使う機会ありそうなので覚えておきます。 ありがとうございました!

関連するQ&A

  • Excelで空白セル直前のセルデータ値を取得したい

    Excelで空白セル直前のセルデータ値を取得したいです。    [A]  [B]  [C]  [D]  [E]  [F]  [G]  [H] [1]   5  8  9 [A1]~[G1]と順番にデータをスキャンし、空白セルが見つ かったらその直前のセルデータ値を取得し、その値を[H1]に表示す るには、どのようにしたらいいでしょうか。 上記の場合は[D1]が空白セルなので、その前の[C1]の値 9 を [H1]に表示したいです。 宜しくお願いします。

  • エクセル:複数セルからの参照

    お世話になります。 A,B,C列にデータが入っています。 D,E,F列に参照のためのデータがあります。 A,B,C列はそれぞれD,E,F列に対応しています。 A,B,C列と同じ並びのデータが入っている行をD,E,F列から探し、その隣のG列の値をH列に返す。 D,E,F列の並びが重複する行はありません。 A,D列は場所の名前、B,C,E,F列には数字が入っている。 例) A1に事務室 B1に20 C1に3 が入っているとする。 D/E/F列が 事務室/20/3 の並びになっているのが10行目の場合、H1にG10のセルの値を返す。 この場合、H列にはどんな計算式を入れておけばよいのでしょうか? A,B,C列と同じ並びのデータがD,E,F列で見つからない場合は空白をH列に返す。 ちなみにD/E/F列が 事務室/20/3 の並びになっている行は10行目しかないです。 よろしくお願いします。

  • エクセルで数値が入力されているセルのアドレス取得

    エクセルである範囲の中から、数値が入力されているセルのアドレスもしくは範囲を取得したいです。      A列  B列  C列  D列  E列・・・ 1行目  20   10    2行目       11        15   10   3行目                25   30  範囲指定 A1:E3 結果 A1,B1,B2,D2,D3,E2,E3     もしくはA1:B2,D2:E3 という結果がでるとうれしいです。よろしくお願いします。

  • 該当セルのみを左にずらす方法を知りたいです

    添付画像のセルですが、●とその右隣のセルのみをBC列にずらしたいです。関数など方法はありますでしょうか? 例えば1列目だとF1とG1がそれぞれB1とC1にずれるイメージです。 それ以外の○とその右隣の列は消えても大丈夫です。 BC列、DE列、FG列、HI列がそれぞれ対になっています。 宜しくお願いします。

  • セルの内容を合わせるエクセル関数

    お世話になります。 エクセルの関数にて、下記条件を満たす関数が作れないので 分かる方がいましたら教えてください。 A列には文字列が、B列には空白か1の数字がランダムに(1番上の行は必ず空白セル)入力されています。 これに対して、B列に空白から1が続いているセルまでをひとくくりとして、 右側のセルに表示させたいです。 画像では C2セル=A2 C3セル=IF(B3=1,C2&A3,A3)としてC4セル以降にコピペ D2セル=IF(B2="",C2,"")としてD3セル以降にコピペしていますが、 C列でひとくくりになるセルが下へ行ってしまい、 希望する結果に表示されないです。 関数が組める方がいましたらご伝授頂けますでしょうか。

  • エクセル2010で二つのセルを一つにまとめる関数

    エクセル2010を使っています。 二つのセルに入っているそれぞれの数値を、1つのセルに文字のようにまとめたいです。 例えば、 B2に3、C2に4、なら、D2に34、です。 ただ、 B3に数値が入っていて(例えば5)、C3が空白なら、D3は、B3の数値(5) としたいです。 これらの条件を満たす、D列にいれる関数を教えてください。 どうぞよろしくお願いします。

  • エクセルでのインデックス関数について

    エクセルで任意の二列からセルの中身を引っ張ってきて組み合わせるものを作成しているのですが、うまくいきません。 以下のページを参考に作成しました http://okwave.jp/qa/q5883947.html 添付画像ではB、C列の2行目に結果が出るようにしてE,F列にランダムに取りたい値、G,H列に乱数を表示させています また、B2のセルには =INDEX($E$2:$F$100,MATCH(MIN(G$2:G$100),G$2:G$100,0),COLUMN(B1)) C2のセルには =INDEX($E$2:$F$100,MATCH(MIN(H$2:H$100),H$2:H$100,0),COLUMN(C1)) と入れてあります なぜエラーが出るのかが全くわからなく、困っています ご存知の方、どうかよろしくお願いいたします

  • Excelとピタゴラスの定理

    この表のA列には直角三角形の垂辺、C列には 同じく底辺、F列には斜辺の長さが書き込まれる。今、A2セルに3.00、C2セルに4.00、F2セ ルに5.00 の値を入れたので、垂辺・底辺それぞれの2乗の和であるE2セルの値と斜辺の2乗であ るG2セルの値は一致するはずである。それが一致しているかどうかを確かめる式がH2セルに入 れられている。H2セルをアクティブにして数式バーを見るとわかるように、このセルに入ってい る式は=E2=G2 というものである。すなわち、E2セルの値とG2セルの値が等しければ 論理値True を返し、そうでなければ同じくFalse を返す式である。この場合、当然True が返される。 次に、A3セルには式「=A2+ 0.03」を、C3セルには「=C2+ 0.04」を、F3セルには「= F2+ 0.05」を入れ、第3行目のその他のセル(B3,D3,E3,G3,H3)には第2行目の 同じ列のセルにある式を複写する。そうすると、ここでも垂辺:底辺:斜辺の長さの比は3:4: 5になっているからH3セルにはTrue が返されるはずである。 この第3行目のA列からH列まですべてのセルの式をそのまま下方に複写すれば、どの行でもA 列:C列:F列の値の比は3:4:5になるから、H列の値はすべてTrue になるはずである。実際、 どこまで複写しても同じ行のE列のセルとG列のセルに示された値は等しいように見える。しかし、 H列ではTrue ではなくFalse が返される場合がある。 1-A:垂辺 B:垂辺の二乗 C:底辺 D:底辺の二乗 E:二乗の和 F:斜辺 G:斜辺の二乗 H:E=G 2-A:3.00 B:9.00 C:4.00 D:16.00 E:25.00 F:5.00 G:25.00 H:TRUE 3-A:3.03 B:9.18 C:4.04 D:16.32 E:25.50 F:5.05 G:25.50 H:TRUE ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 24-A:3.66 B:13.40 C:4.88 D:23.81 E:37.21 F:6.10 G:37.21 H:TRUE 25-A:3.69 B:13.62 C:4.92 D:24.21 E:37.82 F:6.15 G:37.82 H:FALSE 26-A:3.72 B:13.84 C:4.96 D:24.60 E:38.44 F:6.20 G:38.44 H:FALSE この現象がどうして起きるのかを、高校生にわかるように、簡単に説明しなさい。 という問題なのです。教えてください。お願いします

  • Excel 隣のセルに文字を表示させたくない場合

    右隣のセルが空欄の場合、その左側の列の値がセル幅を超えて表示されますが、 ・右隣は空欄のまま ・セルの書式は折り返しにしない という状態で、セル幅のみ表示させることは可能でしょうか? ※Excel2000です よろしくお願いします。

  • 隣のセルの値を参照させたい@excel(エクセル)

    エクセル初心者です。 C列に計算式が入ってるとします。ブランクの場合と数字の場合とがあります。隣のD列に、C列の値もしくはブランクをそのまま参照させたいのです。(C1が20ならD1も20に、C2がブランクならD2もブランクにしたいという意味です) また、D列の値を参照して、G列に計算式が入ってます。 (元々はD列には手入力で数字を入力するつもりで計算式を組みました。その後、C列とD列が全く同じものでよくなったので、タイトル通りの質問になりました。 ただ、値は同じものでよいのですが、C列とD列は意味合いが違いますので、D列を作らないわけにはいきません。) まずやってみたのは、例えばD1に「=C1」といれてみました。そうすると、D1は上手くいくのですが、D1を参照してる、少し離れたG1が「#VALUE!」となります。 条件付書式とかも試してるのですが、イマイチうまくいかず。 何かよい解決方法はないでしょうか?

専門家に質問してみよう