上のExcelの表をご覧ください。
Bの列に、不規則に空白をあけながら文字が入力してあります。
この、文字が入力してあるところに連番をふらなければなりません。
1つ1つ手で入力してもいいですが、もっと下まで入力してあるセルがあったら大変ですよね。
そこで今回は関数を使って解決してみましょう。
①IF関数を使って、B列のセルが空白であれば空白にする
②B列のセルが空白でない場合、連番を付していく
上記①②を満たす式が、
=IF(B1=””,””,COUNTA($B$1:B1))
です。
この式を入力すると、B列で入力があるところに連番をふることができます。
試しにこの式をC列の下のほうまで入力してみましょう。
ざーっと下までコピーします。
どうでしょうか。ばっちり文字入力のあるセルのカウントができましたね。
解決しました!
しかし、例えばB列じゃなくてC列のデータを数えたいとなったときに、上記の式をコピペするだけではうまくいきません。
ということで、この式を詳しく見てみましょう。
数式バーの左側にあるを押して、関数の挿入ウインドウを出します。
関数の分類のところを「論理」に合わせると、下の関数名の中に「IF」が出てきますので選択してOKを押してください。
論理式のところには、「B2=””」と入力します。「””」は空白を表しますので、この論理式は、「B2は空白である」という意味になります。
その下、「値が真の場合」、つまり、論理式B2=””が正しい場合、「””」とする。
そして、「値が偽の場合」、B2が空白ではない場合は「COUNTA($B$1:B2)」となっています。
COUNTA関数は、範囲に含まれる空白ではないセルの個数を返します。
つまり、B1からB2までの間に空白ではないセルはいくつかを数えてくれます。
ということは、連番になりますね。
例えばC7の式を見てみますと、「COUNTA($B$1:B7)」、B1からB7までの数を数えてくれています。
ここで気を付けてほしいのは、「COUNTA(B1:B2)」ではなく「COUNTA($B$1:B2)」となっている点です。
「$B$1」とは、B1に固定されているという意味になります。
「COUNTA(B1:B2)」とすると、例えば下の行にコピペしていく場合、B1のところが、B2、B3とずれていってしまいますので、「$B$1」にして固定しなければ望んだ数値が出てきません。
ちなみに、どのように「$B$1」と入力するかというと、「COUNTA(B1:B2)」と入力後、「B1」をドラッグして選択し、F4を押すと「$B$1」になります。
番地を変えてみるなどして、いろいろ試してみてくださいね。
マクロの作成代行サービス
https://www.tokyo-typing.com/provectus/
自動計算できる見積書はこちら
https://www.tokyo-typing.com/provectus/quotation/