• ベストアンサー

excelで通し番号を付けたい

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

  • gonji
  • お礼率96% (241/250)

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

  • ベストアンサー
  • 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

  • エクセル:データが入った最終行の行番号の取得

    お世話になります。 A列にいろいろデータが入っているとして、データが入っている一番下(最終行)の行番号をB1のセルに表示させるにはどういう計算式で出来るでしょうか? A列のデータは数値だけでなく文字列も含みます。また途中空白セルもあります。 A1~A20にデータが入っているときはB1に20と表示させる。 よろしくお願いします。

  • 列に番号を打つ

    セルA3から1から順番に番号を付けようと思います。(A3=1,A4=2,A5=3,・・・・・・・)条件はこんな条件です。B列に何かデーターが入った時に(データーがない時は隣のA列は空白です)隣のA列に番号が付く。最初にデーターが入るのはセルB3から順番に下に入っていきます。データーはどこまで入るか決まっていません。A3のセル(=if(B3="","",A2+1))に関数を書くことが出来ません。(A列のセルにデーターがあるとB列にデーターがうまくコピーされません)つまりB3にデーターが入ってからA3に番号を打つようにVBAでよろしくお願いします。

  • Excelでグループ化し、グループ名を数値で返すには?

    Excelで次の解を求める時、いいアイディアはないでしょうか。 1) セルをグループ化します。 2) 次にグループ化したまとまりごとに、 左列に数値を順に返します。 つまり以下のようなセルがあるとき : A B 1 : 空白 442565 2 : 空白 442565 3 : 空白 332211 4 : 空白 332211 5 : 空白 332211 ↓ : A B 1 : 1 442565 2 : 1 442565 3 : 2 332211 4 : 2 332211 5 : 2 332211 つまりBが同じ数値である セル同士をワングループとして、 そのグループを順列に数値でA列に 区分したいのです。 A列が何セルでグループ化されるかは ランダムです。B列において2つのセルが 同じ数値を共有している場合もありますし、 100のセルが同じ数値を共有しているもあります。 データ総数はおよそ9000列ほどになります。 集計機能を用いた方がよいでしょうか。 関数の他にアイディアがあれば、教えて 頂けるととても助かります。 宜しくお願い致します。

  • Excel検索等関数

    Excelのデータで同じ列の中に番号が重複している値を探し出しなおかつ任意の行数に出す関数はありますか? Sheet1   |Sheet2   A  B |   A  B        1 あ 10 | 1 あ  10 2 あ 11 | 2 あ  11 3 い 21 | 3 い  21 4 う 22 | 4      ←A4:b4は、「い」が2行ないので空白        | 5 う  22        | 6      ←A6:b6も、「う」2行ないので空白 このように、縦の重複したセルを検索して、指定行数内の場合は、空白となる関数式があればお教えください。

  • 【エクセル】番地「12-3」「345」「6-7-8」の親番号だけ抜き出したい。

    いつもお世話になってます。 A列に番地が入力されています。 「12-3」「4-5」「67―8―9」「901-2」など。 中にはハイフォンの無い「321」などの番地もあります。 一番左の親番号だけをB列に表示させるにはB列にどのような関数式を入れればよいのでしょうか。 ・逐次、増えていく値なので「区切り位置」機能で分割する方法は考えてません。 ・未入力のA列セルの隣のB列のセルは空白にしたいです。 よろしくお願いします。 (エクセル2003)

  • 入力された整理番号の最小値から最大値までを通し番号にしてデーターを振り分ける

     初めまして、よろしくお願いします。  セル上にランダムに整理番号をA列に、そのデーターをB列に順に乗せていきます。 例)     A    B    C     1   3   100 2   5    50 3   2    10 4   9     1 5   7    20 6 7 8 9 10 11  これを任意の場所(別シート)に     A    B    C 1 2   2    10 3   3   100 4   4     0 5   5    50 6   6     0 7   7    20 8   8     0 9   9     1 10 11 12  となる様な表を作りたいと思います。A列に入力された整理番号の最小値から最大値まで、入力されなかった番号まで(ここでは4,6,8)自動で通し番号となるよう表示し、B列のデーターを振り分けられる関数をよろしくお願いします。

  • エクセルのワークシート関数でA、B列不同数取得

    エクセルのワークシートA列とB列にデータがあります。 データは数値、文字列、空白です。エラー値はありません。 A列のセルと同じ行のB列のセルの値が同一でないA列データの個数(またばB列データの個数)を求めるワークシート関数はないでしょうか?(空白同士は同一とみなします。) C列などに作業列を作ってA、Bの比較をして求める方法はすぐに思いつきますが、作業列なしで求めたいのです。

  • EXCELの列の並び替え

    EXCELでA列、B列にA~Zまでそれぞれアルファベットのデータが入っています。 ここで、A列、B列両方にあるデータは同じ行に、 A列にあってB列にないものは、B列に空白を。 B列にあってA列にないものはA列に空白を。 このようにA~Zまで並び替えるにはどうしたらよいのでしょうか? セルの中の文字も左からABC..順に並び替えます。

  • マクロを使って文字が入力されたセル数を数える

    マクロを用いて、文字が入力されたセル数をカウントしたいと考えていますがうまくいかず悩んでおります... 具体的には、セルB1からB1000にデータが入力された場合、左隣のA列に1から番号を付したいと考えています. B列が空白のままの行は、A列も空白にしておきたいです. (セルB1からB1000まで全てにデータが入力された場合、A1からA1000には1から1000までの番号が入る) また、A列に付された番号を判断し、100番毎にA列からE列までセル背景を色分けしていきたいと考えています. (B列が空白ならxlNoneでその行は無色のままにしたい) セル背景の色分けだけであればうまくいったのですが、B列の入力状況により自動でA列に番号(数字)を変化させたら思い通りに動かず困っています. ご教示、宜しくお願いします.

  • エクセル 同じ番号に枝番をつける 

    列に同じ番号があれば1から順に番号をつける方法はありますか。 セルA B 125  1 125  2 125  3 126  1 126  2 128  1 のようにしたいにです。

専門家に質問してみよう