質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.51%

Q&A

解決済

3回答

245閲覧

行(B列)の番号を自動で表示する

tahashim

総合スコア19

0グッド

0クリップ

投稿2018/02/16 08:48

エクセル内の2列に数値を記載しており、A列=1列目の数値が変わるまで、B列=2列目は連番にするようにB列に関数を埋め込んで表示したいです。

B列にRow関数を使用したりして考えてみましたが、A列が1⇒2、2⇒3等に変更した時、B列が0になり、連番するという点がどう関数で作成すればよいかわかりません。。
エクセルB列に関数を埋め込んで、B列の数値を表示したいです。

■ルール
A列は入力値で1から始まる。1から2、2から3といったA列の変更はランダムに発生する。
B列は0から始まる。
B列のMax数値は制限なし。

イメージとしては下記です。
■イメージ
A列 B列
1 0 B列0から開始
1 1
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
1 11
1 12
1 13
1 14
1 15
1 16
1 17
1 18
1 19
1 20
1 21
1 22 ここからA列の数値が変更する。
2 0 B列も0から開始
2 1
2 2
2 3
2 4
2 5
2 6 ここからA列の数値が変更する。
3 0 B列も0から開始
3 1
3 2
3 3
3 4

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

ざっと思いついたのはこのあたりです。

A列の開始位置がA2であり、B2のセルに式を入れる場合の式です。

案1

=COUNTIF($A$2:A2, A2) - 1

自分の左のセルと同じ値のセルの数を数え、0始まりなので-1しています。

A列がソートされていることが前提です。
行数が多くなると、遅くなる可能性があります。

案2

=IF(A1 <> A2, 0, B1 + 1)

左と左上のセルを比較して、変わったら0、同じなら上の値に+1します

式を入れるセルの上に何かしら行がある必要があります。

投稿2018/02/16 09:08

編集2018/02/16 09:14
imihito

総合スコア2166

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

これでどうでしょうか。

=IF(ROW()=1,0,IF(INDIRECT("A"&ROW())=INDIRECT("A"&ROW()-1),INDIRECT("B"&ROW()-1)+1,0))

ベストアンサーに選ばれなかったのでw、補足を書いときます。
値を出力したい全B列に上記数式を貼り付けてください。
全セル同じ数式でOKです。
INDIRECTを使ってるので1行目からでもOKです。

投稿2018/02/16 09:08

編集2018/02/16 12:18
ttyp03

総合スコア16996

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

以下でどうでしょう

=row()-[相対値]

※相対値は0を表示する行位置

または、b列先頭に0と設定して、先頭以外に以下を設定

=INDIRECT(ADDRESS(ROW()-1,COLUMN()))+1

投稿2018/02/16 09:15

編集2018/02/16 09:16
sazi

総合スコア25085

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tahashim

2018/02/16 09:39

[相対値]はどうやってもとるのでしょうか?
sazi

2018/02/16 10:00 編集

表の先頭が2行目なら2、5行目から始まるなら5という風にすれば、0からの始まりになります。 求めるものではなく、決めの問題ですから固定値です。 他の方の方法も起点となる場所をどこかに固定する前提としての回答ですので。
tahashim

2018/02/16 09:56

そうですね。ただこれだとA列が固定なら対応できますが、A列が2、3のようになる場合、0からまた連番されるケースではできないのではと。
sazi

2018/02/16 10:01 編集

A列は参照していないですよ?
imihito

2018/02/16 10:02

質問の意図を理解されていない気がします。
sazi

2018/02/16 10:04

ああ、失礼しました。 連番をリセットするということですね。
sazi

2018/02/16 10:33 編集

回答するとしたら、ttyp03さんとほぼ同じ回答です。失礼しました。
tahashim

2018/02/16 10:25

こちらのコメントが稚拙ですみません。 お二人とも、ありがとうございます。非常に助かりました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.51%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問