• ベストアンサー

空いているセルにだけ連番をふる 関数

A列のところどころに「1」が入力されています。たとえば、A1、A9、A20など。 その空いているところに連番を入れたいのです。例の場合だと、A2~A8に2~8、A10~A19に2~11というふうに。 ROWS関数とかIF関数を組み合わせればできそうに思うのですが、自分で考えてもうまくできないので、お力を貸していただきたいです。

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

  • ベストアンサー
  • HohoPapa
  • ベストアンサー率65% (454/690)
回答No.2

つぎのようなやりかたはいかがでしょうか。 A1に1が埋まっている、かつ、 作業列Bを用意できる前提でよければ、 B1に1をセット B2に =IF(A2="",B1+1,1) を埋め B2セルを必要数、下方向に複写します。

その他の回答 (1)

回答No.1

  =if(A1="",row()) これを例えばB1セルに入力し、下方向にコピーしましょう  

関連するQ&A

  • 連番関数は・・

    エクセルでA列に、1から連番を付けるときに、行を削除してもそのまま連番を保ち続ける関数があったと思いますが忘れてしまいました。何方か教えてください

  • 空白セルから連番をつける

    エクセル2000を使用しています。 1.B4に以下の式を入力し、C列に文字入力するとB列に連番がふるようにしています。     =IF(C4="","",ROW()-3) 2.B53までこの式をオートフィルし、50行の連番としています。     =IF(C4="","",ROW()-3)     =IF(C5="","",ROW()-3)     =IF(C6="","",ROW()-3)           ・           ・           ・     =IF(C53="","",ROW()-3) 3.B54は区切りのため空白となっています。 4.B55から再び連番を付けるため以下の式を入力しています。     =IF(B55="","",ROW()-54) ここからが質問ですが、4項の式をB4~B53からコピーペーストすると、     =IF(B55="","",ROW()-3) となるため、末尾の3を54に手入力により変更する必要が発生してしまいます。 コピーペースト後、式変更の必要ない関数は作れるでしょうか? 連続する場合はオートフィルを使いたいのでそこは崩さない方法です。 また、マクロは使わない方法でお願いします。

  • excelの関数かマクロで連番、日付を付けたい

    こんばんわ、EXCELマクロ入門者です。 excelの関数かマクロ、VBAで日付や、連番を付けたいです。 できれば関数でできたらなぁと思います。マクロ、VBAはほとんど初めてです。 (1)まず、B2に商品名を入れます。 (2)すると、A2に連番、C2に今日の日付(システム日付)、 D2に商品名と今日の日付、商品ごとの連番が自動的に振っていく感じにしたいです。毎日たくさん入力するらしいのでマクロとかVBAとか関数で作ってくれと頼まれました。 A列は例えばA3に=if(B3="","",A2+1)を入れて何とかできたのですが、 C列の日付(today関数やnow関数ではファイルを開き直すと日付が変わってしまう)とD列の商品名-日付-商品ごとの連番で特に困っています。 イメージとしては下のような感じです。   A   B    C     D 1 連番 商品名 日付    商品名-日付-商品ごとの連番 2 1   ○○○ 2007/8/10  ○○○-2007/8/10-1 3 2   ××× 2007/8/12  ×××-2007/8/12-1 4 3   △△△ 2007/8/13  △△△-2007/8/13-1 5 4   ○○○ 2007/8/15  ○○○-2007/8/15-2 6 5   ○○○ 2007/8/16  ○○○-2007/8/16-3 どなたか、ご教授ください。 どうぞ、宜しくお願い致します。

  • エクセル 関数 各値ごとに連番を振りたい

    エクセル2010を使っています。 各値ごとに連番を振りたいです。 具体的に、添付画像で説明します。 A列には、元となる値がすでに入っています。 B列には、A列の各値ごとに、連番を振りたいです。 B列に入れる関数を教えてください。 よろしくお願いいたします。

  • excelで自動的に連番をつける関数について

    excel2010を使用しています。 題名のとおりexcelで連番をつけたいと思っているのですが、ただ単純に1から順にというわけではなく困っています。 というのも例のように途中で重複しているデータについては、´(ダッシュ)などで印をつけておきたいのです。 【例】 A  B 1 りんご 2 みかん 3 ぶどう 3´ ぶどう 4 いちご 5 メロン 5´ メロン 5´ メロン 6  桃 B列にあるデータがあり、それをもとに重複しているデータは印をつけた連番をA列にふりたいのですが、どのような関数で出来ますでしょうか?よろしくお願いします。

  • Excelで行と列に連番を振る方法

    Excelで行と列に連番を振る関数を教えて下さい。 例: A1に1を入力したら 以下、自動的に F1に2 A2に3 F2に4 という具合に自動反映する関数

  • 関数について

    例えば「A1:D10」の範囲の所々に入力されている文字列等を検索する関数と「HLOOKUP」関数を組み合わせて使うのにはどうしたらいいのでしょうか。(下の数字を返したいのです)  (例)○○費      5,000           ××費           10,000                △△費                 8,000

  • 行に連番をつけたいのですが、空白セルには番号をつけないようにしたい。

    A  B 1  10 2  20    (空白) 3   25 B列のセルに数値の入力があった場合に、A列にナンバーを連番でつけていきたいのですが、できますでしょうか? よろしくお願いします。

  • エクセル関数 IF関数で出来ませんかね

    エクセル関数 IF関数で列への書式設定をしているのですが、私が考えていることが出来ません。お力をお貸ししてください。   A列    B列    C列  請求書   領収書  備考欄 1 ○  2 不要         TEL 3 ○ 4 5 不要         TEL A列はユ-ザ-定義で[=1]"○";"不要"としており、問題はC列へのA列での「不要」となった場合にTEL(=A1とし、セルの書式設定[=1]"":"TEL")でコピ-で自動的に表示させられるのですがA列へのデ-タが莫大に多いもので、IF関数で試行錯誤しています。 =IF(A1=1,"","TEL")でコピ-も考えたのですが、未入力(A4)の場合もTELで表示されます。C列をいっぺんに指定してIF関数で出来ないものでしょうか?  

  • 間に空白がある場合の連番作成について

    文章だと説明が難しいので図で説明します。 ..A..B 1.1..a 2..... 3.2..b 4.3..c 5..... 6.4..d 上記のようにB列には値があったりなかったりします。 その場合にA列に同じ行のB列の値が入ってるセルに例のように連番を振りたいです。 現状はA列の1は数字を入れて、A2以降は下記のような関数を入れて、セルの端っこをドラッグしてコピーしています。(実際はIFの中にIFとネストして作っています) =IF(B2="","",IF(A1="","NG",A1+1)) 流石にこれでは綺麗じゃないので、スマートな方法を教えてください。

専門家に質問してみよう