プロが教える店舗&オフィスのセキュリティ対策術

よろしくお願いします。

商品番号と選択色が収められた「B1~B3」のセルには
下記のようなセル内で改行された同データがあります。
商品番号の親番号は、「B1~B3」セルの初めの行で入力されている 0001 です。

No.0001/赤
No.0002/青
No.0003/黄

これを、次のようにCのセルで表示するにはどのように記述すればよいでしょうか?

A1(0001) B1 C1→ 0001-0001 と表示
A1(0002) B2 C2→ 0001-0002 と表示
A1(0003) B3 C3→ 0001-0003 と表示

※A1のセルは数値で、書式で「0000」を設定し、4桁にみせています
※Bのセルは、商品により、セル内での行数(商品数)が変動します
※エクセル2019を使用しています

以上、何卒ご教授いただけますよう、よろしくお願い申し上げます。

質問者からの補足コメント

  • 『親番号(Bセルの一番上)-子番号(Bセルの二行目以降)』の形式で
    「C」のセルに表示したいと考えています。

    0001-0001
    0001-0002
    0001-0003

    ※A列は商品番号(親番号とは限らない)
    ※B列は親番号、子番号が格納されている
    ※B1~3に入力されているデータの一番上は親番号、2行目移行は子番号
    ※B1~3に入力されているデータは、すべて同じ

      補足日時:2019/12/14 17:34
  • 何度も見直したつもりが、間違えておりました。
    大変申し訳ございません。また、ご回答誠にありがとうございます。

    A列の番号の振り方、また、B列の商品番号は「No.」の後から「/」の前までで、その通りです。

    ただ、B列には先に図説いただいたもので、下記のみが入力されています。

    No.0001/赤
    No.0002/青
    No.0003/黄

    マクロは、初歩です。。。
    今、各Bセルの商品番号だけを別シートのAセルに商品番号だけにして抜き出し、

    0001
    0002
    0003

    その一行目から、隣のセル(B・C~)に書き出していこうとしていたのですが、
    一番上の行から順に隣のセルに格納していくところで、詰まっています。。。

    データをばらすことができれば、後は、COUNTIF を用いて親番、子番号の組み合わせが可能かと。

    No.3の回答に寄せられた補足コメントです。 補足日時:2019/12/14 18:18
  • GooUserラック様、ご回答誠にありがとうございます。
    また、返信が遅くなり申し訳ござません。

    図説、ありがとうございます。
    いろいろな図説をいただいていて申し訳ございませんが、
    当方が望む要件は、回答2で頂いた図説のまったくその通りです。

    A列には4桁の商品番号(数値:表示形式のユーザー定義で「0000」に設定)
    B列に収められた値
     商品番号は「No.」の後から「/」まで
     親番号は一番上の行の4桁の数字
     子番号は二行目以降の4桁の数字
     子番号の行数は、商品により変動する
    C列に
     親番号-子番号としたい

    質問、補足に図が挿入できるのを知らず、今後、複雑な質問は図を添え投稿するように致します。
    また、私自身、マクロが得意ではないため、
    できましたらマクロを使用せずに実現できればありがたいです。

    引き続きアドバイス頂けますと幸いです。
    以上、何卒よろしくお願い申し上げます。

    「エクセル 親番号、子番号の書き出しについ」の補足画像3
    No.6の回答に寄せられた補足コメントです。 補足日時:2019/12/15 11:07

A 回答 (9件)

>C2→ 0001-0002


この 0001 は何なのですか?  A1の 0001 ですか? B1の 0001 ですか?
この 0002 は何なのですか?  A1の 0002 ですか? A1の数字はなんなのですか?  

何を表示させたいのかを しっかり定義してくれないと こういう問題は解けません。
あなたは判っているのかもしれませんが こちらには状況が見えないのでわからないのです。

私は情報システム屋だったので ユーザのこういう要求をよく聞くことがあるのですが
 説明のへたくそなユーザになると もう何を言っているのか全く分からないですね。
 言っているそばから言うことが変わったりします。

もう一度説明をきちんとしてください。
    • good
    • 0

もしかしたら


-------------------------------------------------
A1(0001) B1 C1→ 0001-0001 と表示
A1(0002) B2 C2→ 0001-0002 と表示
A1(0003) B3 C3→ 0001-0003 と表示
-------------------------------------------------
は間違いで以下でしょうか?
-------------------------------------------------
A1(0001) B1 C1→ 0001-0001 と表示
A2(0002) B2 C2→ 0001-0002 と表示
A3(0003) B3 C3→ 0001-0003 と表示
-------------------------------------------------
C列の算出方法は下図のような感じでしょうか?
頭番号は4桁固定でしょうか?
「エクセル 親番号、子番号の書き出しについ」の回答画像2
    • good
    • 0

大変申し訳ございません。

下図のような感じなんですね

子番号は「No.」の後から「/」の前までで良いのでしょうか?
「エクセル 親番号、子番号の書き出しについ」の回答画像3
この回答への補足あり
    • good
    • 0

マクロ(VBA)を使用してもよろしいですか?

    • good
    • 0

相しますと今までの説明とは違い親番号はセルには書かれているわけではなく上からのグループ番号のような物でしょうか?

「エクセル 親番号、子番号の書き出しについ」の回答画像5
    • good
    • 0

もしかしたら下図のようなことですか?

「エクセル 親番号、子番号の書き出しについ」の回答画像6
この回答への補足あり
    • good
    • 0

やはりマクロ(VBA)を使用しないと無理かもしれませんね



B列でソートしてC列を作成して、その後A列でソートして元の順番に戻しても良いですか?
    • good
    • 0

もしかしたらA列の数と子番号は常に同じですか?もしそうなら計算式でも出来ます。

    • good
    • 0

No.8 の時の計算式です



「=MID(B1,4,4) & "-" & TEXT(A1,"0000")」をC1セルに入力して、後はオートフィルして下さい。
    • good
    • 0
この回答へのお礼

GooUserラック 様

この度もご回答を賜り誠にありがとうございます。
お教えいただきました関数で意図していた処理が完璧にできました!

MID関数をしっかり理解していき、今後活用していくようにします。
この度は本当にありがとうございました!

お礼日時:2019/12/15 14:08

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