[[20210125151444]] 『フィルター後のデータにアルファベット含む連番を』(さんごう) >>BOT

[ 初めての方へ | 一覧(最新更新順) |

| 全文検索 | 過去ログ ]

 

『フィルター後のデータにアルファベット含む連番を振りたい』(さんごう)

フィルター後のデータにアルファベットを含む連番を振りたいのですが
ご相談させて頂きたくお願いいたします。

http://www4.synapse.ne.jp/yone/excel/excel_data_filter_renban.html
上記のサイトを参考に連番を振る事は可能でしたが(1〜50までなど)
フィルター後のデータにアルファベット含む連番を振りたい場合はどのような方法があるのでしょうか。
例えば01A-00001〜01A-00050までなど。
つたない説明で申し訳ございませんがお分かりになる方
よろしくお願いいたします。

< 使用 Excel:Office365、使用 OS:Windows10 >


 01A-00001〜01A-00050 だと、連番部分は、5桁ですかね。
 最初に連番をふるときに、1〜 にしないで、
 99999900001 から始めたらどうでしょう。
 あとで、置換で、999999 を 01A- に置換します。
 置換対象は、連番部分に絶対出てこない数値にしないといけないので、
 5桁の連番だったら、それ以上の桁数にしたほうがいいと思います。
(´・ω・`) 2021/01/25(月) 15:40

 A列が連番だとして
 フィルターを解除した状態で

 A2 =IF(B2="","","01A-"&TEXT(SUBTOTAL(3,$B$2:B2),"00000"))
 または
 A2 =IF(B2="","",TEXT(SUBTOTAL(3,$B$2:B2),"01A-00000"))
 下コピー

 これでできますか?

 以上
(笑) 2021/01/25(月) 15:57

(´・ω・`)さん、Good Idea ですね。
こういうの、好きです。

(大笑) 2021/01/25(月) 16:18


(´・ω・`)様 試してみます。柔軟な発想で助かりますありがとうございます。

(笑)様 私の操作で何か間違いがあるのか上手くいきません。
     ありがとうございます。
(さんごう) 2021/01/25(月) 16:45


(笑)様 できました!大変助かりました。
皆さまありがとうございました。

(さんごう) 2021/01/25(月) 16:49


(笑)様 度々申し訳ございません。
応用で試したいのですが関数のどこの部分をどのように
変更すれば良いのでしょうか。

今D列が連番でD116から連番始めたく01A-00001から始める場合は
上記でお教え頂いた関数のどの部分を変更すれば良いのでしょうか。
よろしくお願いいたします。

 A2 =IF(B2="","","01A-"&TEXT(SUBTOTAL(3,$B$2:B2),"00000"))
 または
 A2 =IF(B2="","",TEXT(SUBTOTAL(3,$B$2:B2),"01A-00000"))
 下コピー
(さんごう) 2021/01/25(月) 17:03

 フィルターを解除した状態で

 D116 =IF(E116="","","01A-"&TEXT(SUBTOTAL(3,$E$116:E116),"00000"))
 または
 D116 =IF(E116="","",TEXT(SUBTOTAL(3,$E$116:E116),"01A-00000"))
 下コピー

 これでできませんか?

 例として E列を使っていますが、そこは先頭から最後まですべてデータで埋まっている列(空白のない列)にすること。

 以上
(笑) 2021/01/25(月) 17:29

(笑)様
誠にありがとうございました。
今まで何日も調べて分かりませんでしたが
今解決いたしました。

(さんごう) 2021/01/25(月) 18:29


【追記】
フィルターをした状態で連番を作成したい場合があり
上記(笑)様の教えて頂きました方法でフィルターを解除せず入力し
連番を作成したのちフィルターを解除すると連番でなくなり飛び飛びの番号になります。
初めの私の説明不足で申し訳ございません。
一進一退で進んだと思いましたがまだ解決しておりませんでした。
どなたか解決方法がございましたら、
どうぞ宜しくお願い致します。

(さんごう) 2021/01/25(月) 19:15


 フィルターを解除した状態で提示した式を入れたら
 フィルターをかけても解除しても連番になりますよね?

 それではなぜダメなんですか?

 以上
(笑) 2021/01/25(月) 19:37

度々申し訳ございません。
私のやり方のどこが問題があるか指摘頂ければ幸いです。
まずD22、D42、D94、D74、D80、D83・・・のように飛び飛びのセルに
01A-00001から連番にしたい場合上記セルをフィルターに掛け抜き出しました
お教え頂いた式でD22セルに=IF(E22="","","01A-"&TEXT(SUBTOTAL(3,$E$22:E22),"00000"))
こちらを入力する【01A-00001】と問題なくいけます。
フィルでD42、D94、D74、D80、D83に式をコピーします。
問題なく01A-00002〜順番になります。
フィルターを解除すると01A-00001から順番になっていた数字が順番でなく01A-00021 01A-00059など
かなりの飛び飛びの数字となります。
どこで間違えているのでしょうか。
もしくはコピペして数式ではなく値だけコピペを試しましたがコピー領域と貼り付け領域が
同サイズかつ同じ形状でない場合はそれらの領域が重ならないようにしてくださいと
エラーがでます。
宜しくお願い致します。

(さんごう) 2021/01/25(月) 20:22


 フィルターを解除した状態で
 D22に =IF(E22="","","01A-"&TEXT(SUBTOTAL(3,$E$22:E22),"00000"))
 を入れ、オートフィルでデータ最終行までコピー(すべてのセルに式を入れる)

 くり返します。
 フィルターを解除した状態で式を入れる!!

 連番になりますよね?

 そのあと、フィルターをかけて5件のデータが抽出される
 その状態でも ↓ のように連番になりませんか?

	連番
	01A-00001
	01A-00002
	01A-00003
	01A-00004
	01A-00005

 こちらではなりますけど?

 以上
(笑) 2021/01/25(月) 20:43

(笑)様
おっしゃる通りフィルター解除時式を入れると連番になりフィルターかけても
連番になり、5件のデータが抽出された場合も連番になります。

私の説明不足で申し訳ございません。
しかし、同じD列に様々な連番が入ります。
01Aのほかにも複数種類たとえば03B-00001や05C-00001など
最初のイメージで申し上げますと
http://www4.synapse.ne.jp/yone/excel/excel_data_filter_renban.html
男が01A-00001から女は01B-00001から連番で並べたいという意味となります。

(さんごう) 2021/01/25(月) 21:21


 確認だけ

 >01Aのほかにも複数種類たとえば03B-00001や05C-00001など

 ・全部で何種類あるんですか?
 ・01A、03B、05Cはそれぞれどういう条件で分けるんですか?
 
 以上
(笑) 2021/01/25(月) 22:03

・ざっくり50種に種別する予定となります。
・大分類でABCDXZの6項目そこからそれぞれ枝分かれして小分類9項目ぶら下がります合計約50種

こちらで意味がわかりますでしょうか。

(さんごう) 2021/01/26(火) 09:50


 01Aとかはセルには入れてないのですか。
(zaq) 2021/01/26(火) 10:37

(zaq)様
01A-00001から09Z-00001連番までセルにいれます。
この回答であってますか。
(さんごう) 2021/01/26(火) 13:02

 作業列を作成していいなら50種類の連番を付ける表を用意しておいて
 VLOOKUPで呼び出したものとCOUNTIFで呼び出し、TXETで書式設定したものとを&で結合
 すれば表現できないでしょうか
(なるへそ) 2021/01/26(火) 13:40

 >大分類でABCDXZの6項目そこからそれぞれ枝分かれして小分類9項目ぶら下がります

 これをもう少し詳しく説明してほしいんですけど・・・
 大分類と小分類の列があり、その組み合わせで連番の先頭が決まるってこと?

 もしかして
 大分類   小分類     連番の先頭
 A      1    →  01A
 B      3    →  03B
 C      5    →  05C

 こういうこと?

 以上
(笑) 2021/01/26(火) 17:23

(笑)様
まさにその通りです。
なので01A-連番や02A-連番などいまのところ09A-連番まで9種
それが大分類ABCDXZで6種となります

(さんごう) 2021/01/26(火) 20:24


 それでいいのなら・・・
 どこか空いた列を作業列として使用。

 作業列: J列
 大項目: E列
 小項目: F列
 だとして

 以下、フィルターを解除した状態で

 作業列
 J22 =IF(E22="","",IF(SUBTOTAL(3,E22),TEXT(F22,"00")&E22,""))
 下コピー

 連番
 D22 =IF(J22="","",J22&"-"&TEXT(COUNTIF($J$22:J22,J22),"00000"))
 下コピー

 これでフィルターをかけても解除しても連番になると思います。

 以上
(笑) 2021/01/26(火) 21:34

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.