• 締切済み

excelのナンバリング

Excelで以下のようなイメージの表を作ろうと思います。 得たいのはC列のような中身の数値列です。  [A,] [B,] [C.] [D.] [,1] a あ 1 x [,2] a い 1 x [,3] a う 1 x [,4] b あ 2 x [,5] b い 2 x [,6] b う 2 x A列のカラムは大きな項目(例えばグループ企業名) B列のカラムは小さな項目(例えばグループ傘下の企業名) C列のカラムはA列に従ってナンバリングをしたい D列より右はデータ(たとえば売上高など) オートフィルをためしましたがうまくいきません。 どうすればよろしいですか?

みんなの回答

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 まず、以下の様に、1行目は項目名を入力する事などに使用して、実際のデータは2行目から入力する様にして下さい。         A列      B列    C列   D列 1行目    大項目    小項目   No.   データ 2行目      a       あ      1    x 3行目      a       い      1    x 4行目      a       う       1    x 5行目      b       あ      2    x 6行目      b       い      2    x 7行目      b       う       2    x  その上で、C2セルに次の関数を入力して下さい。 =IF($A2="","",IF(COUNTIF($A$1:$A2,$A2)=1,MAX(C$1:C1)+1,INDEX(C:C,MATCH($A2,$A:$A,0))))  次に、C2セルをコピーして、C3以下に貼り付けて下さい。  これで、C列に「A列に入力されているデータに従ったナンバー」が表示されます。

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

思いっきり間違いました。 改めて 1行目はタイトル行にしてA1に「大項目」と記入,C1に「番号」と記入 A2以下にデータを列記 C2に =IF(A2="","",SUM(C1)+(A1<>A2)) などのように記入,以下コピー。 寝惚けていたようです。大変失礼しました。 #参考 C2に =IF(A2="","",SUMPRODUCT(1/COUNTIF($A$2:A2,$A$2:A2))) 以下コピー のような計算の仕方も一応あります(これだとご相談で書かれてるように1行目からいきなりデータみたいなあんまりふつーじゃないリストでも計算できます)が,こんなめんどーなのを使うまでもありません。

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

>A列に従ってナンバリングをしたい C1に =COUNTIF($A$1:A1,A1) と記入して下向きにオートフィルドラッグします。

関連するQ&A

  • VBAでナンバリング

    こんにちは。 はじめまして。 VBA初心者です。 教えてください。 VBAであるリストを作成しました。 その表のA列に列を加え、B列にデータがある間、「1、2、3、4、…」とナンバリングしたいと思っています。 列を加えることは出来たのですが、ナンバリングがいまいちうまくいきません。どうか、良い方法をお教えください。 よろしくお願いします。   A   B   C 1 No.  名前  住所 2 1  青野太郎 東京都 3 2  東野次郎 岡山県 4     

  • エクセル:条件データの選出

    エクセル (前提) 項目1から項目5の100行×5列の表 1行目:タイトル (1,1)が項目1、――、(1,5)が項目5    (2,1)から(100,5)がデータ (求めたいこと) 項目1データと項目2データの組合せを重複なく数え G列以降に存在するだけ G列            : H列       :I列    ----------------- 項目1データの1      : 項目1データの2:項目1データの3------------ 対応する項目21データの1 : 項目2データの2:項目2データの3------------: という形で出力したいする。(但し項目1は昇順にしたいが今回それは保留) (例) A列    B列 項目1  :項目2 C     に A     い B     ろ A     い B     は C     に D     い (例結果) G列 A:B:B:C:D(ここは必ずしもソートの必要なし) い:ろ:は:に:い どう解決すればということで、 1行目に項目1、2行目に項目2ということで G1=INDEX($A$2:$B$100,SMALL(IF(MATCH($A$2:$A$100&$B$2:$B$100,$A$2:$A$100&$B$2:$B$100,0)=ROW($A$1:$A$99),ROW($A$1:$A$99)),COLUMN(A1)),ROW(A1)) 配列数式です。Ctrl + Shift + Enter 2行目にフィル、エラーが出るまで横へフィル 昇順ではないので、結果をコピー、そのまま[形式を選択して貼り付け]-[値]、 あとは、列単位で並べ替え。 このやり方で一つの立派な解なのですが。 (質問) 項目1と項目2がA列,D列と離れている場合はどうするかということです。 もちろんワーク用にシートをコピー後B列~C列を削除して適用すれば求まるのはわかりますが、そうしないでもできる方法があれば教えてください。

  • エクセルの文字列中の指定した位置の文字列の置き換え(REPLACE)。

    エクセルの文字列中の指定した位置の文字列の置き換え(REPLACE)。 エクセルのセルA1に 「A123B1234X9876C123DD」と入力されています。 これを 「A123-B123X9876-C123-DD」としたいです。 現在 ・B1のセルに=REPLACE(A1,5,0,"-") ・C1のセルに=REPLACE(B1,15,0,"-") ・D1のセルに=REPLACE(C1,20,0,"-") と入れて、D1にできた値の 「A123-B123X9876-C123-DD」 をコピーして E1のセルに「形式を選択して貼り付け」「値」で貼り付けして B1~D1を削除して ・A1のセルには元の「A123B123X9876C123DD」 ・B1のセルには編集後の「A123-B123X9876-C123-DD」 が表示されるようにしています。 このA列が100行もあるとうんざりです。 式をオートフィルでコピーしていくのですが  ・B1に式を入れてオートフィルでB100までコピー  ・C1に式を入れてオートフィルでC100までコピー  ・D1に式を入れてオートフィルでD100までコピー  ・D1~D100をコピーしてE1~E100に「形式を選択して貼り付け」「値」で貼り付け  ・B,C,D列を列削除  3回は式を入れないといけないです。一発で編集する方法はありますでしょうか?

  • 条件に合うものから順番にナンバリングする方法

    例えばA列に偶数のデータがあったとして、 4の倍数にだけB列に上から順に1,2,3とナンバリングうちたいです さらに例えば50個目まで制限をかけて出す方法が知りたいです A B 2 4 1 6 8 2 10 12 3 14 16 4 18 20 5 22 IF関数で条件に合うものからナンバリングみたいにできますか?

  • エクセルで名簿にナンバリングしたい

    教えてください 得意先の名簿(所属順)を借りて仕事をしています 受付に来た順にチェックボックスを使ってナンバリングするにはどうしたらよいでしょうか   A  B   C   D 1 2  ✔ TRUE 香川 2 1  ✔  TRUE 松井 3    □  FALSE青木 4 3  ✓  TRUE 仲村 この場合 松井さん 香川さん 仲村さんの順に受付を済ませ、青木さんはまだお見えになっていません =IF(C1=TRUE,MAX(A1:A4)+1,"") とすると、エラーが出てしまいます

  • excelで自動計算

    excelで九九の早見表のようなものを作りたいのですが・・・ ___A__B__C__D 1_____1__2__3 2__1__1__2__3 3__2__2__4__6 4__3__3__6__9 B2のセルには、A2*B1 C2のセルには、A2*C1 D2のセルには、A2*D1 B3のセルには、A3*B1 ・・・といった感じの表を作りたいのですが。 オートフィルを使って(又は自動で)さくっと簡単に作ることは可能でしょうか? B2=A2*$B$1 とやれば、縦方向にはオートフィルで1列だけうまくいくのですが、横方向にはうまくいってくれません。 2行目を全部手入力でやって、縦方向にオートフィルで出来そうなんですが、 100 X 100 以上の表を作りたいので途中でやる気がなくなります。 何かいい方法があれば、教えてください。 よろしくお願いいたします。

  • Excel、条件付きで単価X個数の総和の算出方法

    今日は。 Excel 2010を使用しています。 A列に番号、B列に商品名、C列にその商品のグループ名、 D列に単価、E列に個数が書いてある表があります。 ・A列には必ず番号がありますがB列には空欄のものもあります  したがってC、D、E列が空欄の行も存在します ・C列は「1グループ」、「2グループ」と「空欄」の3種類です。 ここで Aグループの商品の単価X個数の総和 Bグループの商品の単価X個数の総和 空欄グループの商品の単価X個数の総和 をそれぞれ求めたいのです. しかしグループ別という条件を付けて 単価X個数の総和をだす方法がわかりません。 上記の条件付きの総和の算出方法をご存じの方 お教えください。 よろしくお願いいたします。

  • エクセルVBAで2つの条件が一致すれば結果を転記

    エクセルVBAの書き方を教えてください。 以下3つのエクセルファイルがあります。 ・F依頼(使うSheet:ナンバリング ・F結果(使うSheet:OKリスト ・F回答(使うSheet: F結果の「OKリスト」シートのA列3行目に結果が入っています。     A列         B列     C列 3行目 OK(結果)    12345678    9012 F依頼の「ナンバリング」シートには、過去からの番号が書き続けられています。     A列      B列     C列     D列 2行目 日付    12345678    9012    OK(結果) OKリストのB&Cの12桁をナンバリングシートのB&Cから検索し 一致するものがあれば、ナンバリングシートのD列(結果)にOKリストのA列(結果)を 貼り付けたいです。

  • 【エクセル】歯抜けの空白欄に上段と同じ値を入れたい

    エクセル(2010)で ある表に ところどころ空欄があり、 そこに上段と同じ値を入れたいです。 随時発生する作業のため マクロ(もしくはVBA)が組めればと考えておりますが、 初心者につき、ご教示いただけますでしょうか。 A列:項番 B列:大項目 C列:中項目 D列:小項目 E列:備考 ※1行目:項目名、2行目以降:値 という表で、 A列のナンバリング・D列の小項目 以外は 上と同じ扱いとなるため空欄となってしまっていますが、 アクセス(DB)に取り込むため、空欄の無い形にしたいのです。 ※ちなみに、A列・D列は空欄が無い状態=最終行以下は空白です。 よろしくお願い致します。

  • 最下層項目の前に集団項目名を付与するには?

    VBA初心者です。 以下のようにシートに文字列がある場合についてです。      A列  B列   C列        1行目  1   A     A         *集団項目* 2行目  2   A-1   A_A-1    *集団項目* 3行目  3   B     A_A-1_B   *最下層項目* 4行目  1   A1    A1         *集団項目* 5行目  3   B     A1_B       *最下層項目* 6行目  3   C     A1_C          *集団項目* 7行目  5   D     A1_C_D      *最下層項目* 8行目  3   E     A1_E        *最下層項目* ・やりたいこと  最下層項目の前に”集団項目名_”を付与したいです。C列はその結果を表しています。  VBAで実現したいです。 ・シートの初期状態  A列に階層を表す数字、B列に項目名が記載されています。C列は便宜上記載したものです。 ・階層の考え方  数値が大きくなるほど、その前の小さい数値に従属します。  例えば、3行目は2行目と1行目に従属し、2行目は1行目に従属します。 ・処理条件  ・A列が空白になるまで繰り返す。  ・A列が1の行から次に1が現れる1行前までが1つのグループという考え方です。   (1~3行目までが1つのグループ、4~8行目までがもう1つのグループ)   C列の結果には、必ずA列が1の項目名で始めます。 ・やっかいそうだと思われること  6、8行目は同じ階層ですが、6行目は7行目があるため集団項目、8行目は最下層項目です。 ・その他  例えばA列が1の場合はC列に、2の場合はD列に・・・というように列をずらして  後から結合してもよいです。  その場合、アンダーバーは不要です(後から付与できるため)  但し、1グループ内でC列には同じ文字列が設定されていることが前提となります。  (例)  A列 B列  C列 D列   E列   1  A    A    2  A-1  A  A-1   3  B    A  A-1  B 以上、よろしくお願い致します。

専門家に質問してみよう