• ベストアンサー

excelで通し番号を付けたい

A列に任意の文字データが入っていれば、 B列に通し番号を付ける(累計を出す?)方法を教えてください。 A1,A3,A4のセルに何か文字が入っていれば、 B1には1、B2は空白、B3は2、B4は3 というようにしたいと思います。 何のアイディアも浮かびませんので、 よろしくお願いします。

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

  • ベストアンサー
  • comv
  • ベストアンサー率52% (322/612)
回答No.2

再び こんにちは >一見空白のセルも実は数式が入っているので、 >カウントされてしまいます。 であれば 簡単なのは B1に =IF(A1<>"",1,"") B2に =IF(A1<>"",COUNT(B$1:B1)+1,"")  COUNT()の部分は MAX() でも同じです 必要行に複写 かな

gonji
質問者

お礼

回答ありがとうございます! きました、きました!!! B2のセルには=IF(B2・・・ となおさせていただきましたが。 A列には数式が入っていても、文字を入れても、 数字を入れても、ちゃんとカウントしてくれます。 本当にお世話になりました。

gonji
質問者

補足

countaじゃなくて、countでも文字をカウントしてくれるのはなぜなんでしょう? 元々そういうものなのですか? 本来の質問からはずれてしまいますが、 もしお時間がありましたら教えてください。

その他の回答 (3)

  • comv
  • ベストアンサー率52% (322/612)
回答No.4

こんばんは #1 #2 のcomvです >countaじゃなくて、countでも文字をカウントして >くれるのはなぜなんでしょう? 認識されている通りCOUNT()は数値は入っているセルを カウントとするものです! 前回#1ではA列を参照しましたが、今回の#2ではB列を 参照(範囲はB1~対象行の直上)なので連番の値が 入ったセル数を数えて(連番のない""のセルを無視) +1するようにしたものです。 補足で書いたとおり、MAX()+1でも同じ理屈で 数値の範囲で最大値に+1しています。

gonji
質問者

お礼

何度もご丁寧にありがとうございました。 excelにはまだまだ私が知らない便利な数式が たくさんあるんでしょうね。 しっかり勉強します。

回答No.3

見掛け上表示されていないと言う事は、0である場合は表示しない設定か、NULLにする設定の式を組んであるのではないでしょうかねぇ だったら、こんなのは如何でしょう? B1セルの式は、=IF(A1=0,0,1) B2以降のセルは、=sum($B$1:B1)+if(A2=0,0,1) B3はこんな風になります、、=sum($B$1:B2)+if(A3=0,0,1) B2とA3の座標は、相対参照にしておけばB2セルの式を複写すれば結果が出ますけどね NULL値に設定している場合は、論理式の0判定部分を書き換えれば出来ますよ

gonji
質問者

お礼

回答ありがとうございます。 A列にはvlookupを使っているのですが、 空欄を引っ張ってくると0を返してしまうので、 ifを使って、0なら””としてあります。 私の知識不足のせいで、 教えていただいた数式で、 0でやっても””でやってもB3以降が VALUE!になってしまいました。 教えていただいた数式でちゃんと計算できるよう もう少し勉強することにします。

  • comv
  • ベストアンサー率52% (322/612)
回答No.1

こんにちは B1に =IF(A1<>"",COUNTA(A$1:A1),"") 必要行まで複写 で如何でしょうか!

gonji
質問者

お礼

早速の回答ありがとうございました。 A$1:A1とは気づきませんでした! しかし、問題が・・・ 一見空白のセルも実は数式が入っているので、 カウントされてしまいます。 例えば、 A1が一見空白の場合、B1は空白。 A2に文字が入っている場合、B2は「2」 (A1の分も数えているとみられる。) 説明不足ですみませんでした。 引き続き教えてください。よろしくお願いします。

関連するQ&A