• ベストアンサー

エクセルの「技」をご存知ないですか?

以下のようにB列の結果を出す「関数」はありますでしょうか。 説明 もとのデータはA列しかありません、A列と同じデータ であれば、B列に「001」から自動採番し、データが 変わればまた最初から採番する。 今はB列へA列を見て手入力していますが、データが 増えると大変で。。。 A列 B列 1 001 1 002 1 003 2 001 2 002 2 003 2 004 2 005 2 006 3 001 4 001

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

  • ベストアンサー
  • Aiz-Kis
  • ベストアンサー率80% (4/5)
回答No.6

あえて苦言を申しますが、なぜ始めから実際のデータと質問を記載しないのですか? データや前提条件、質問内容が異なれば、質問者さんは望む回答を得られませんし、 回答者の方達にもムダな時間を費やさせることになりますよね。 そもそも、ご自分で式を考えていたら、データや条件が後から変更になる事自体おかしいですし。 ご自分で何とかしようと式を考えられましたか・・・? (まさか丸投げ?) 至急マークのご質問ですので、とりあえず式を記載しておきます。 C1に1を入力。 C2に以下の式を入力して必要分だけドラッグ。 =SUMPRODUCT(($A$1:A2=A2)*($B$1:B2=B2)) 以下の通りとなります。("001"は書式設定でおこなってください)  A     B   C A社 2009/5/27  1 A社 2009/5/27  2 A社 2009/6/1  1 A社 2009/4/1  1 A社 2009/4/1  2 A社 2009/5/27 3 B社 2009/5/27  1 B社 2009/6/2  1 B社 2009/5/27 2 B社 2009/6/2  2 C社 2009/6/2  1 C社 2009/5/27  1 C社 2009/5/27  2 A社 2009/5/27  4

yasu2773
質問者

お礼

ありがとうございました。

その他の回答 (5)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.5

>B列へ関数を入れることによって一気に採番したいのですが。 ⇒B1に関数を設定【仮にB1に=TEXT(COUNTIF($A$1:A1,A1),"000")】、B1セルのドラッグボタン(セル枠右下の■)をダブルクリックで一気に採番されますが如何でしょうか。

yasu2773
質問者

補足

説明が足りなくてすみません。 実際のデータの並びは以下の通りです。 「キー」はA列の「会社」で、B列の「日付」は 同じ日付が出てくる可能性があります。 同じ会社同じ日付のものに対して明細行番号を つけたいのです。 A列 B列  C列(ここをなんとかしたい) A社 20090527 001 A社 20090527 002 A社 20090601 001 B社 20090527 001 B社 20090602 001 B社 20090602 002 B社 20090602 003 C社 20090604 001

  • Aiz-Kis
  • ベストアンサー率80% (4/5)
回答No.4

すでに回答は出ていたようですが、せっかくなのでこんな方法もあるということで・・・。 B列はすべてセルの書式設定のユーザー定義で種類を「000」に設定します。 B1には1を入力し、 B2に以下の式を入力し、下方向へコピーします。 =IF(ISNA(MATCH(A1,A2,0)),1,B1+1) 上記の式で、A列が日付データであってもB列が連番になることについては確認済みです。(ただし、A列は日付ごとに並び替えが行われていることが条件となります)

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.3

No.2です。 A列の日付がどこかで再登場しない場合でも、私の式は有効です。 ご確認ください。

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.2

B1に↓を入れて下までドラッグ =COUNTIF(A$1:A1,A1) これは、A列の値が、A1から現在の行までの範囲で何個あるかを表示しています。 「A$1」が範囲の開始ですが、$1と絶対参照にする事でコピーしてもかならず1行目から範囲開始となります。 また、私の方法ですと、A列の値がどこかで再登場した場合、連番も維持されます。 例 1 001 1 002 2 001 1 003 ←

yasu2773
質問者

補足

具体的には以下のA列のデータ(元は日付)に B列へ同じ日付だったら連番で採番、日付が変わったら 「001}から採番する、という入力なんです。 A列   B列 20090527 001 20090527 002 20090527 003 20090601 001 20090616 001 20090616 002 20090522 001 20090522 002 20090522 003 20090522 004 20090529 001 20090529 002 B列へ関数を入れることによって一気に 採番したいのですが。

  • k-josui
  • ベストアンサー率24% (3220/13026)
回答No.1

b1は1 b2は=IF(A2=A1,B1+1,1) このまま下にドラッグすればいいと思いますけど。 001、002はセルの書式設定で。

関連するQ&A