• ベストアンサー

Excelで列の表示をしないを利用したときの自動連番の入力の仕方

Excelで列の表示をしないを使用したときに、表示されているデータだけに自動連番を付ける方法を教えてください よろしくお願いします

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

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

こんにちは! >Excelのフィルタを利用すると選択データ(数値・文字)だけが表示されます あっなるほど・・・「Excelで列の表示をしないを」は 「列」ではなく「行」だったんですね(^^;   A  B 1   タイトル▼ 2 式 *** 3 ↓ *** 4 ↓ *** 5 ↓ *** 6 ↓ *** 7 ↓ *** 8 ↓ *** 9 ↓ *** 式 セルA2に =SUBTOTAL(3,$B$2:B2)   と入力後、必要行まで複写 参照先(この例ではB列)は、文字、数値、数式での""、 等はOKですが完全な空白があるとカウントされません 必ず、全部書き込まれた列(キー列等)を指定して下さい!

jg2ffb
質問者

お礼

大変有り難うございました 大変理解しやすくコメントしていただき助かりました。 これからも宜しくお願いします。

その他の回答 (3)

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.3

>Excelで列の表示をしないを使用したときに、   これは、ある列を『表示しない』としてあると解釈しました。 >表示されているデータだけに自動連番を付ける   『表示されている』があやふやですが、『表示してある列の中で値の入っているセル(数値または文字)』としました。 解釈通りだとすると、非表示にした列を認識するのは算式ではできないと思い、下記マクロを書いてみました。 連番を書き出す位置の指定が無いので、選択した行の1行上に書き出しています。 操作方法としては、データが入っている1行(連番を振りたいデータが入っている行です)を選択して実行します。 ツール→マクロ→Visual Basic Editor でVBE画面に移り、挿入→標準モジュール で標準モジュールを挿入し、そこに下記コードを貼り付けます。 Public Sub RenbanSet()   Dim rg As Range '選択範囲の1つのセル   Dim startNum As Double '連番の最初の数値   Const nStep = 1 '連番のステップ(いまは連番は+1)   Dim col As Integer 'カウンタ   startNum = InputBox("連番の最初の数値を入力します")   For Each rg In Selection '選択範囲に対して実行     If Not rg.EntireColumn.Hidden = True And rg.Value <> "" Then       '列が非表示でなく、入力があったら       rg.Offset(-1, 0) = startNum + col '選択した1行上(-1)に連番をセットする       col = col + nStep '連番を増やす     Else       '非表示列または未入力セル       rg.Offset(-1, 0) = ""     End If   Next End Sub

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

追記 最後に書こうと思っていたものを書き忘れて    UPしてしまいましたm(__)m 対象のデータが "" 以外の時、全て対象とする場合  =IF(B2="","",MAX(A$1:A1)+1)

jg2ffb
質問者

お礼

大変有り難うございました 説明不足で申し訳ありませんでした。 Excelのフィルタを利用すると選択データ(数値・文字)だけが表示されます。その表示データの左側に連続した番号を入力する方法を教えてください

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

こんばんは! お望みが、  数式でなのかVBAでなのか  連番が行なのか列なのか 不明で、かつ表示されるデータが数値なのか文字なのか 表示されない時の処理が "" なのか 0 の非表示なのか 等、シート構成がわからないので不確かですが   A  B 1   タイトル 2 式 *** 3 ↓ 4 ↓ *** 5 ↓ 6 ↓ 7 ↓ *** 8 ↓ 9 ↓ 数式で1例 対象(B列データ)が文字列でかつ "" を無視する場合 セルA2に  =IF(COUNTIF(B2,"?*"),MAX(A$1:A1)+1,"") 対象が数値でかつ 0 と "" を無視する場合  =IF(SUM(B2),MAX(A$1:A1)+1,"") 対象が数値でかつ 0 も対象とする場合  =IF(COUNT(B2),MAX(A$1:A1)+1,"") 必要な下行までコピー

jg2ffb
質問者

お礼

大変有り難うございました 説明不足で申し訳ありませんでした 数式で連番は列 表示されるデータは数値・文字両方 表示されない時の処理はフィルタです もしよければよろしくお願いします

関連するQ&A

  • Excelの連番をふりなおす

    Excelの表で、A列に連番をつけてあります。 行を挿入したり、削除したときに、連番がくずれないように 自動的にふりなおす方法があれば、教えていただけないでしょうか。 ヨロシクお願いします!!!

  • エクセル自動連番機能の解除方法

    エクセル自動連番機能の解除方法 エクセルで、セルを選択して下にドラッグしていくと自動で連番になりますが、任意の列だけは連番にならないようにする設定はありますか?

  • エクセル2003で連番の入力の仕方教えて下さい

    エクセル2003を使用しています。 1~1000までの連番を縦列に入力したいと思います。 今まで1、2、3、と入力して1~3までの数字を全て範囲選択→ 右下■にカーソルあわせてドラッグで自動入力。 こんなやりかたをしていたのですが、いつの間にかできなくなり、 上記のやり方だと1、1、1、1、1、1、1、1、1・・・・・・となってしまいます。 どこかオプション設定をいじってしまったのでしょうか? 連番になるように直したいです。

  • EXCEL マクロ・VBA 自動で連番を振る

    EXCELのマクロ・VBAについて質問です。 例えば、B列にデータを入力すると、入力した行まで自動的にA列に連番が入力されるようにしたいのですが、どういった方法があるでしょうか。 マクロやVBAについてはこれから勉強をしようと思っている素人ですので、コードとその解説をいただけると助かります。

  • 行連番の自動入力

    毎回同じ形式の表をcvsから取り込み、自動または1回の作業(マクロで自動化させたいのです)でA列の一番下のデータの場所まで連番を振らせたいのですが(※毎回行数が変わるので、連続データで停止値を固定させることもできません。)どのような方法がありますか? ※オートフィルでドラッグするやり方は除く。

  • エクセルで自動連番の式について

    エクセルの計算式を教えて下さい。 シート1に   A列 B列 1 0001 りんご 2 0002 みかん の様にB列に入力がされたらA列に自動的に連番が振られる様に A列に =IF(LEN(B1),TEXT(COUNTA($B$1:B1),"0000"),"") と式を入れました。 シートが変わっても、連番になるようにするには、どうすれば良いでしょうか?

  • Excelで飛ばし連番

    Excelで連番をふりたいのですが、下記のようなことは可能でしょうか? A列に曜日、B列に連番なのですが、 土曜日と日曜日は飛ばしたいのです。 連番が1000ほど続くので、何かいい方法はないかと考えています。 宜しくお願いいたします。   A B 1 月  1 2  火  2 3 水  3 4  木  4 5 金  5 6 土 7 日 8  月  6 9 火  7   ・  ・   ・  ・   ・  ・ Excel2002を使用しています。

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

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

  • Excel2007での自動連番の振り方

    Excel初心者です。 自動連番の振り方を教えて下さい。 宜しくお願いします! A列に連番 B列に文章 を入力したいのですが A1のセルが「1」として B1のセルに文字を入力したときに A2のセルに自動的に「2」と表示される B2のセルに文字を入力したときに A3のセルに自動的に「3」と表示される ↓ 以下、同じ方式で自動的に連番が振られていく・・・ この方法をご存じの方がいらっしゃいましたら、 ご回答宜しくお願いいたします。

  • エクセルで複数ずつの連番を入力する方法

    こんにちは。 エクセル初心者です。 過去ログや他のサイトも調べたのですが、表現方法が悪いのかヒットしません。 今、エクセルに日本語を入力して表を作っています。 A列に数字を入れて番号を振っているのですが、 表の性質上、1234・・・という連番ではなく、 111222333444・・・という同じ数字が3つずつ続く連番です。 それが800番まで続きます。 私が調べた限りではオートフィルや連続データではそういう番号の振り方はできないみたいで困っています。 今、50番台なのですが、手動で入れるのが苦痛になってきました。 初心者でも出来る方法で、これを自動的に大量入力する方法があれば、 ぜひ実行したいのです。どなたかご存知ではないでしょうか? よろしくおねがいします。

専門家に質問してみよう