• ベストアンサー

エクセルで、ある列に不規則にある「連続した空白セルの最後尾セル」に空白の数を表示したい

mitarashiの回答

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.1

VBAでやる例です。普通にループを回してもつまらないので、短いコードにチャレンジしてみました。 Sub test() Dim emptyArea As Range Dim myArea As Range Set emptyArea = ActiveSheet.Range("a1").CurrentRegion.Columns(2).SpecialCells(xlCellTypeBlanks) For Each myArea In emptyArea.Areas myArea.Cells(myArea.Rows.Count, 1) = myArea.Rows.Count Next End Sub

umahiro
質問者

お礼

素早いご回答ありがとうございます。m(_ _)m 簡単な関数でできればと思ったのですが、やはりVBAでやったほうが スッキリとできるんでしょうね。 実はまだエクセル初心者マークでして… VBAは一度もやったことがないんです… (ループ???こんな感じです) ただこれを機にVBAを一から勉強してみようかと思いました。 ぜひ教えてもらった短いコードを試してみたいです!

関連するQ&A

  • ピボットテーブルで空白セルの数を集計したい

    以下のように、セルに入る数が1か空白の表を、ピボットテーブルを用いて集計しています。 [A列] [B列] Aさん 1 Bさん 1 Cさん Aさん 1 Bさん このとき、ピボットテーブルには自動的に「(空白)」という項目が出てきますが、     1 (空白) Aさん 2 Bさん 1 Cさん このようになり、空白セルの数を数えてくれません。ここでいうと、BさんとCさんの(空白)の列にそれぞれ「1」が入るようにしたいのですが、 このようにする設定は可能でしょうか? excel2003を使用しています。よろしくお願いいたします。

  •  エクセル関数式により、列ごと最後尾と最後尾からの2行目の値を抜き出す

     エクセル関数式により、列ごと最後尾と最後尾からの2行目の値を抜き出す。  初めまして、よろしくお願いします。      A  B  C  D  E 1    赤  青  黄  緑  黒 2  3    4    1  3  2  0  9 5    9  1  3  4  3 ・    ・  ・  ・  ・  ・ ・    ・  ・  ・  ・  ・   112  4  6  1  9  6 113  7  7  5  8  1 114  6  9  1  3  7    115  7     2  5  0 116  8     0     0  という表があります。 各列の空白、もしくは0の入力されている後の値(A列では8、B列では9、C列では2、D列では5、E列では7)と最後尾の数字から2行目の値を(A列では6、B列では6、C列では5、D列では8、E列では6)を抜き出すことのできる関数式の方法がありましたら、教えていただきたく。よろしくお願いします。

  • 連続するセルに空白セルを入力する方法

    縦列に 【A1】 a b c a b c a b c …(以下100回ほど) 上記のように連続する列があるといます。 これを、 【A1】 【A2】 a b 【空白セル】 c a b 【空白セル】 c a b 【空白セル】 c …(以下連続) このようにしたいです。 どのようにすればよいのでしょうか? 教えてください。

  • エクセルで列の空白を数えるには?

     A B C 1 * 2   3 2 4 *   5 1 6 * セルに*マークを記入してある、間隔の空欄を計算したいのですが。どうやってやりますか? 空欄の最後に空白が連続した数を表示させたいです。 B,C・・・列も同様に同じ計算をします。

  • エクセルで表示上だけ空白にしたい。

    エクセルで、A列は日付、B列は受入数、C列は払出数、D列は在庫数という表を作っています。 日付は入っていても、受入か払出に入力があるときだけ在庫数を表示し、 受入、払出ともに入力がない日は、在庫も空白の表示にしたいです。 考えぬいて、 IF(AND(B2="",C2=""),"",D1+B2-C2) で、成功したかに思えましたが、 空白セルの次の行になると、 在庫数が空白なっているため、エラーになってしまいます。 在庫数を表示上だけ空欄にしたいのですが、 考え方から違っているのでしょうか。 どうかご教授お願いいたします。

  • LARGE関数で空白セル数だけ飛ばして記入したい。

    LARGE関数で空白セル数だけ飛ばして記入したい。 たとえばA列に連続する数値がランダムに入力されていて、その値の高い値から、LARGE関数で順番をB列に記入しました。しかしA列に空白セルがある場合、空白セル数だけ高い値を飛ばして順番をつけたいのですが、良い方法は御座いませんでしょうか? 例 A列に1から15までランダム記入されていて空白セルが2つあれば13から1、2としていきたいのです。 B1=IF($A$1:$A$15="","",LARGE($A$1:$A$15,A1))↓ と記入すると15、14がエラー表示になって 13から1になってしまいます。それを、13から1、2としていきたいです。 お願いします。

  • EXCEL 連続しない空白のセルの数を数えたい

    エクセルでの処理方法を教えて下さい。  空白のセルを数えるには、ふつうCOUNTBLANK関数を使うと思うのですが、COUNTBLANK関数は、連続したセルでないと範囲指定出来ないそうです。  今回数えたいのは、一行おきにデータが入っている表の空白のセルの数なので、この関数は使用できません。  検索したところ、SUMIF関数でできるとのことだったのですが、やり方がよくわかりません。 マイクロソフト サポートオンライン 「Excel で COUNTBLANK() の代わりに SUM(IF()) を使用する場合」  http://support.microsoft.com/kb/274537/ja  このような場合、どうすればいいかご存じの方、回答お願い致します。

  • excel 空白列を削除

    excelで下記の表を作成中です。 番号 名前 名前 品名 購入日 県外 待ち日数 1 2 田中 太郎 A H26.4.1 11 3 4 佐藤 元気 B H26.3.16 25 5 鈴木 一 C H26.3.20 ● 21 空白列を削除しようと思い、右クリックから削除、上方向にシフトを 実行してみたところ、一番左の番号まで削除されてしまい、 飛び飛びの番号になってしまいました。 加えて、100列目まで関数を入れているため、 削除する度に表が短くなってしまいます。 左側の番号と関数を残したまま、 かつ表の列数は維持したまま空白列を削除する方法を教えて下さい。

  • Excelで隣のセルが空白の場合にカウントする方法

    (ケース1) Excelで右隣のセルが空白となっているセルの数を知りたいのですが、どのような数式・関数を使えば可能でしょうか? (ケース2) Excelで左隣のセルが空白となっているセルの数を知りたいのですが、どのような数式・関数を使えば可能でしょうか? (例) A列  B列 333 123 444 456 空白 321 555 567 空白 258 空白 159 666 258 777 空白 (ケース1)この場合のカウントを、A列1としたい。 (ケース2)この場合のカウントを、B列3としたい。 ご教授のほどよろしくお願いします。

  • エクセル連続していない不規則な数値セルの小計を右隣空白セルに一発で出すには?

     エクセル2000で定期的に部材の出庫表を作成しているのですが、日々、データーが変動し、表が更新されます。    A   B  C  D  E  F  G 1コード   1  2  3  4  5  6  2名称   数量 ← ← ← ← 3部材1  10  5    4部材2  30 24     8 5部材3  25    40 15     23 6部材4      8 15     32 7部材5      9  18 8部材6  20 30  45       45 7  上記のような形式で表が作成され、実際はもっと横長の表になります。  各部材はB3以降に数量が記載され、最右端に合計セルがあります。数値セルの各行に所々、空白セルがあります。(セルには数式は入っていない)  少しでも表を見やすくしたいので、数値データーセルが連続しているセルの右隣の空白セルに簡単に小計を差し込みたいのですがその方法が分かりません。  仕方ないので手動にてCTRLキーを押しながら任意の数値セルを選択し、Σで合計していますが、作業が進まず、ミスも出ます。  上記の表の部材1ですと、B3、C3の合計(小計)15を空白のD3セルに、部材3ならD5、E5の小計55をF5に、部材6ならB8、D8の合計95をE8に表示させたいのです。 過去にもこの質問をしたのですが、VBAでないと出来ないのでしょうか?私はVBAでの記述がよく理解できません。他に簡単に連続する数値セルの合計を右隣の空白セルに表示する方法は無いでしょうか?IF関数等を入れたりしていますが、循環エラーが出たり、上手く行かず、教えていただけませんか?手入力しか無理でしょうか?これで困っています。