アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセルで顧客名簿を作っています。

Aに顧客の通し番号
Bにお客さんの名前を入れるとして、

でも二度目以降のお客さんのときには
(つまり前と同じ名前を入力したとき)、
前と同じ通し番号の後ろに -1 とか -2 とかつけて
何回リピートしてるかわかるようにしたいんですけど、
どうしたらいいでしょうか?

ちなみに通し番号自体も、
B以降になにか入力されたら
自動的に入るようにしたいです。

よろしくお願いいたします。

A 回答 (5件)

単純にするためB列を独立させた。


A列  B列  C列
番号サブ氏名
1山田
2下村
12山田
13山田
3大川
14山田
32大川
15山田
A2は 式 =IF(C2="","",(IF(COUNTIF($C$2:C2,C2)=1,MAX($A$1:A1)+1,INDEX($A$1:$A$100,MATCH(C2,$C$1:$C$100,0),1))))
B2は =IF(C2="","",IF(COUNTIF($C$2:C2,C2)=1,"",COUNTIF($C$2:C2,C2)))
C列は順次上から氏名入力する。
    • good
    • 0

#3です。


ゴメンナサイ、余計なことを書きました。
「検証」はしてます。

なお、A列を「00001」と表示したければ、
A3は
=TEXT($C3,"00000")&IF(COUNTIF($B$2:$B3,$B3)>1,"-"&COUNTIF($B$2:$B3,$B3)-1,"")
としてください。
    • good
    • 0

COUNTIF関数を使って2以上の顧客だったら、


もう一度、COUNTIF関数でカウント数を出せば
2回目なら「2」3回目なら「3」が算出できるハズです。
ただ、VLOOKUP関数を使いたいので、
   A    B    C
1 通し番号 氏名   番号ワーク
2 1    山田太郎    1
3 2    鈴木花子    2
4 1-1  山田太郎    1
とします。
A2とC2は、それぞれ1を入力しておきます。
A列は左寄せを設定しておき、
A3に
=$C3&IF(COUNTIF($B$2:$B3,$B3)>1,"-"&COUNTIF($B$2:$B3,$B3)-1,"")
C3に、
=IF(OR($B3="",ISBLANK($B3)),"",IF(COUNTIF($B$2:$B2,$B3)=0,MAX($C$2:$C2)+1,VLOOKUP($B3,$B$2:$C2,2,FALSE)))
で、いかがでしょう。
C列の表示がわ煩わしければ、C列の幅をゼロにしてしまえば、表示、印刷されません。









検証はしてませんが...
    • good
    • 0

完成途中ですが、こういう数式はいかがでしょうか。



=IF(B1="","",IF(COUNTIF($B$1:$B1,B1)>=2,ROWS($A$1:$A1)&-1,ROWS($A$1:$A1)))

この数式だと、B列に顧客名が入った時点でA列(数式入力セル)に通し番号がつきます。
また、顧客名がいままで入力されたものだと番号の後ろに”-1”がつきます。
ちなみに数式はA1に入力する例です。A1に入力した後はオートフィルでコピーすればいいです。
もしA1以降のセルからはじめる場合は、COUNTIF・ROWSの行番号をはじめるセルの行番号に変えて入力してください。

問題点としては、
現段階のこの数式では3回目以降の顧客にも”-1”がつき、
リピート回数を見ためで判断するのは難しいと思います。

まだ完成途中で投稿して申し訳ありませんが、何かの参考にしていただければいいと思います。
    • good
    • 0

次の方法は如何でしょうか。


見出し行あり、A2は'00001を固定開始番号(手入力)、A3セルに次の数式を入力して必要分下方向にコピーして下さい。
=IF(B3<>"",IF(COUNTIF($B$2:B2,B3),TEXT(INDEX($A$2:A2,MATCH(B3,$B$2:B2,0)),"00000")&"-"&COUNTIF($B$2:B2,B3),TEXT(COUNTIF($A$2:A2,"<>*-*")+1,"00000")),"")
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!