エクセル2010で入力されたセル内の空白を数える方法

このQ&Aのポイント
  • エクセル2010で入力されたセル内の空白を数える方法について教えてください。
  • 8行のセルがあり、8行目の任意の列に●を入力した場合、その列から上に遡って●までの間の空白のセルを数える方法を知りたいです。
  • ▲も「空白の1つ」として数える場合、8行目のセルの各列における空白の数を教えてください。使用するエクセルは2010です。
回答を見る
  • ベストアンサー

入力された●から●迄の空白をカウントする方法

どなたかご存じでしたらご回答よろしくお願いします。 【質問】  各列毎に●や▲が任意の数がある8行のセルがあります。  8行目の任意列に●を入力した場合、  そこから上に遡って●までの間の空白のセルを数える方法が知りたいです。  但し、▲も”空白の1つ”として数えます。 【入力】    A  B  C  D  E  F  G …  1 ●  ●         2        ●  ▲ ● ▲   3     ▲ ●       ▲  4                5  6  7   8 ●  ● ●               【結果】  A B C D E F G・・・   6 6 4 0 0 0 0 ※結果の説明 A:8行目の●から上に数えて●迄の空白は6個。 B:8行目の●から上に数えて▲がありその上に空白と●があるが、▲を空白とみなして6個。 C:8行目の●から上に数えて最初の●迄の空白迄は4個。 D:8行目に●は無いため、空白は0個。 E:8行目に●は無いため、空白は0個。 F:8行目に●は無いため、空白は0個。 G:8行目に●は無いため、空白は0個。 使用するエクセルは2010です。 以上、よろしくお願いします。

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

  • ベストアンサー
noname#204879
noname#204879
回答No.5

8行目は●または空白の何れかとすれば、 A10: {=IF(A8<>"",8-MAX((A1:A7=A8)*ROW(A1:A7))-1,0)} ← 配列数式

moguo4649
質問者

お礼

ご回答ありがとうございます。 またシンプルな式を教えて頂きありがとうございます。 やってみて得たい結果が得られました。 またよろしくお願いします。

その他の回答 (4)

回答No.4

配列を使った計算は他の皆さんが回答してくださっているので、こちらからは、作業セルを使った簡単な方法をご紹介します。 I1 =(a1="●")*row(i1) I9 =if(countif(a1:a8,"●")>=2,large(i1:i8,1)-large(i1:i8,2)-1,) I1 セルを下方向にドラッグし I8 までオートフィル。 >どなたかご存じでしたらご回答よろしくお願いします。 ご存じというか、こういった特殊な計算をしたい場合は、持っている知識をいろいろ組み合わせて目的を達成することになります。したがってアプローチは、様々あり得ると思います。

moguo4649
質問者

お礼

ご回答ありがとうございます。 切り口を変えた回答をして頂きありがとうございます。 また、実行結果までつけて頂き判りやすくて助かりました。 ありがとうございました。

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.3

>どなたかご存じでしたらご回答よろしくお願いします。 幾つかの方法があります。 作業用のテーブルを使わない方法では式中で配列を使いますので注意が必要です。 A9=IF(A8="",0,ROW(A7)-MAX(IF(A$1:A7="●",ROW(A$1:A7)))) 数式バーに入力後、Ctrl+Shift+Enterで確定します。 A9セルを右へオートフィルでコピーします。 添付画像はExcel 2013ですがExcel 2010で計算可能と思います。

moguo4649
質問者

お礼

ご回答ありがとうございます。 また、実行結果まつけて頂きありがとうございます。 教えて頂いた通りに入力しましたが同じ結果になりました。 ありがとうございました。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

B8が●でB1~B7に●がある場合は、B1~B7のセル範囲で丸が入っている一番下の行番号を7から引いた値を求めればよいことになりますので、以下のような配列数式で求めることができます。 =(B8="●")*(COUNTIF(B1:B7,"●")>0)*(7-INDEX(MAX((B1:B7="●")*ROW(B1:B7)),))

moguo4649
質問者

お礼

ご回答ありがとうございます。 教えて頂いた式でできました!

  • rodste
  • ベストアンサー率22% (64/279)
回答No.1

セル番地でわかるでしょう

moguo4649
質問者

お礼

ご回答ありがとうございます。

関連するQ&A

  • 空白セルのカウント方法

    どなたかご存じでしたら回答をお願いします。 【質問】 各列毎に●や★が任意の数がある8行のセルがあります。 各列毎に8行目から上に遡り、●までの間の空白のセルを数える方法が知りたいです。 但し、★も”空白の1つ”として数えます。 【入力】   A  B  C  D  E  F  G ・・・・ 1 ●        ★ 2       ●  ●  3       ★        ● 4             ★ 5              6 7                ● 8                   ● 【結果】  A B C  D E  F G ・・・  7 8  6  6  8  1 0 ※結果の説明 A:●の下には空白が7個。 B:●が無く空白が8個。 C:●の下に★があるが空白とみなして6個。 D:●の下に空白が6個。 E:★があるが空白とみなして8個。 F:●の下には空白が1個 G:●の下には空白が0個 使用するエクセルは2010です。 以上、よろしくお願いします。

  • エクセルで空白セルを寄せたい

    エクセル2002使用です VBAは使わずに関数だけで空白セルがあるセルを詰めて表示したいのですが・・・   A|B|C|D|E|F|G 1 あ い う え お か き 2 ○   ○ ○   ○ の表を   A|B|C|D|E|F|G 1 あ う え か  2 ○ ○ ○ ○ のように表を書き換えたいのです。 1行目には必ず文字が入力されています。 2行目には入力されているセルと空白セルが不定期に入力されています。 2行目のセルが空白ならば、1行目のセルも削除して左へ詰めて 表を転記したいのです。 よろしくお願いします。

  • 空白セルのある場合の計算

      A  B  C  D   E  F  G  H 1 (2)     (2)     空     (3) わかりづらいかもしれませんが、 =A1+C1+E1+G1 で、数字の合計を出したいのですが、###のエラーが出ます。 E1の空白セルに数字が入るとエラーはなくなります。 どうしたら空白を0とみなして計算できますか? (空白セルはどうしても空白じゃなきゃなりません) (B列D列F列は計算対象外の数字が入力されてます)

  • 値の貼り付けとcounta関数(空白をカウント)

    A1 1 A2 a A3 a A4 1 A5 a 上記のデータがあります。(aは任意の文字列、1は数字の1のみ) 1.B列に、「=IF(A1=1,"",A1)」を入力。(1を消すためです) 2.C列に、B列をコピー、形式を選択して値を張り付け。(値のみをカウントするため) 3.C6に「=COUNTA(C1:C5)」を入力。計算結果=5。 空白以外のセルをカウントして欲しいので、COUNTA関数用いたのに、 空白もカウントされてしまいます。 なお、手作業で空白セル(C1)をデリートすると、計算結果は「4」になります。 計算結果として「3」を表示させる方法をご教授ください。 (データは8000件以上あり、手作業での空白セルのデリートは不可能です) あるいは、違ったやり方での正しい計算結果の出し方があれば、お願いします。 D列に「=CLEAN(B1)」「=SUBSTITUTE(B1," ","")」を入力、E列へ値の貼り付け、もE6のCOUNTAの結果は5になります。(当然D6も) 以上、よろしくお願いいたします。 環境:エクセル2000 XP Pro

  • エクセルデータのカウント

    A1:E5にデータが入力してあります。(空白セルもあり) C列、D列、E列のどれか1つのセルにでもデータ(数値) が入っている行の数をカウントして、A6に表示する 方法を教えてください。 たとえばF列に、=COUNT(C1:E1)を計算する行を入れて、 A8で=COUNTIF(F1:F5,">=1")をすれば、できるのだと思うのですが、 そのために行を増やしたくないのです。

  • EXCEL VBA 条件による空白挿入

    EXCEL2003を使っています。 以下のように列FGHが空白の行については列ABCを空白を挿入したいのですが数万行あり処理をVBAで自動化したいです。どなたかお力をお貸し下さい。お願いします。 A B C D E F G H 1 1 2 3 4 5 6 7 8 2 1 2 3 4 5 _ _ _ 3 1 2 3 4 5 6 7 8 4 1 2 3 4 5 _ _ _ 5 1 2 3 4 5 6 7 8 ↓ A B C D E F G H 1 1 2 3 4 5 6 7 8 2 _ _ _ 1 2 3 4 5 3 1 2 3 4 5 6 7 8 4 _ _ _ 1 2 3 4 5 5 1 2 3 4 5 6 7 8

  • (MS-Excel)「入力規則」で「リスト」に空白セルを含めない方法

    (MS-Excel)「入力規則」で「リスト」に空白セルを含めない方法 たとえば、A1,B1,D1,G1は何らかの文字列が入力されていて、C1,E1,F1が空白セルだとします。 「入力規則」の「リスト」で、「元の値」にA1:G1を指定した場合は、空白もリストされてしまいます。 空白を表示させたくないのですが、作業セルに空白以外をリストさせて元の値とする、という方法は使いたくないです。 調べたところ、名前の定義方法で実現できるみたいですが、良く解りませんでした。

  • EXCELで式での空白セルの挿入方法

    A列は空白行で、B列は数値が入っていたり空白だったりする行で構成されています。 またC列からD列までの全ての行には数値が入っています。 この時A列に条件付き数式を入力して、B列が空白でなければB列に空白セルを挿入して現B列からD列を右にシフトさせたいのですが、数式で可能でしょうか? 数式で可能ならばA列に入力する式を、不可能なら参考のためVBAでの記述をお教え頂けると嬉しいです。(VBAはあまり理解しておりませんが。) 例 【処理前】 A列 B列 C列 D列 E列     22   33  44          55  66     77   88  99         100  101 【処理後】 A列 B列 C列 D列 E列 式       22  33  44 式       55  66 式       77  88  99 式      100  101 2万行の処理を1回のみしたいです。 宜しくお願いします。

  • 【マクロ】クリックすると空白を含む列を非表示に

    上司にExcelのデータが見づらいと言われて困っています。 下記のようなマクロやVBAを教えていただけないでしょうか? 例えば、 A2のセルをクリックすると、その行(2行目)から空白セルを検索して、そのセルを含む列を非表示にして、データが入っている列だけを表するようなマクロってないでしょうか? (要は、C2とE2が空白セルのとき、A2をクリックして、A/B/D/F~の列だけ表示されるようになるマクロです。 同様に3行目でも、空白セルがB3、C3なら、A3をクリックした時、A/D/E…列だけ表示されて、B・C列が非常時になるような。) 似たような機能があれば、A2クリックでなく別にボタン等を作っても構いません。 ややこしくて、申し訳ございませんが、本当に困っているので、 どうかよろしくお願いいたします。

  • 空白でないセルの値を返す方法について

    空白でないセルの値を返す方法について いつもお世話になっております。 A   B   C   D   E   F   G 名前 住所  あ          あ A~Cは入力は固定です。 D~Gは可変で月毎に入力しなおします。 10月はFに入力、11月はDに入力…みたいな感じでどこか1箇所に入力します。 上記の内容の表でD~Gの入力してあるセルを検索してCに反映させてたいのですが、上手く行きません。 COUNT、COUNTAは空白以外のセルの個数を返しますが、空白以外のセルの値そのものは返しません。 MATCHやINDEXも見ましたが、上手くイメージできません。 お詳しい方、お教えいただければと思います。

専門家に質問してみよう