dポイントプレゼントキャンペーン実施中!

無知でのご質問となります。ご容赦ください。

ブックの内容と致しましては、画像を添付しております。
《備考》
1
【部品名称】と【部品番号】は連続したセルにはなりますが、
AはA、CはCといったように、入力内容は変わりません。
※その為、列Aと列Cのどちらか一方を検索対称としました 。

2
【部品名称】と【部品番号】はAは1、Cは3とリンクしております。
【部品名称】ABCと決まってはおらず順不同となり、画像のA20がBになる可能性もあります。

《本件》
簡潔に申しますと、【A20のセル】に部品Aの名称を入れ、【C20のセル】に数量を入れた時、
過去の【部品名称】である部品Aを検索し、同じ行にある【最大のシリアルナンバー】に足す指示を掛けたいのですが、文字列の検索結果を用いて、同じセルの中で別途指示を掛ける方法がわかりません。

上記の続投という形でのイメージとしては、
F20セル【=SUM(H8+1)】
H20セル【=SUM(F20+(C20-1))】
と考えていたのですが、当然ながらこれでは成り立たないので、
H8の部分を検索結果にしたいのです。

乱文では御座いますが、宜しくお願い致します。

「Excelでのシリアルナンバー管理をマク」の質問画像

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

  • 非常に大切な《備考》を忘れておりました。

    シリアルナンバーはABC共に、それぞれ1から始まります。
    そのため、文字列を索引する必要性となります。

      補足日時:2018/05/16 15:37

A 回答 (6件)

こんにちは



発想はANo1様と同じですが、若干簡略化しています。
No1様と同様にシリアルナンバーは1から開始するものと解釈。
そうしないと、数量8に対して、ナンバーが0~8(←9種類)はおかしいので。
(0開始の場合は調整してください。)

F3セルに
 =IF(A3="","",MAX(IF(A$2:A2=A3,H$2:H2))+1)
を入れて、Ctr+Shift+Enterで確定(配列数式)
H3セルに
 =IF(F3="","",F3+C3-1)
を入力

F3、H3をそれぞれ下方に必要な範囲までフィルコピーでいかがでしょうか。
    • good
    • 0
この回答へのお礼

御回答ありがとうございます。

計算式が表示され、関数として認識されませんでした・・・
なにか配列数式を認識させる設定が必要でしょうか?

また、大変申し訳ございませんが、非常に大切な《備考》を忘れておりました。

シリアルナンバーはABC共に、それぞれ1から始まります。
そのため、文字列を索引する必要性があったのですが、この場合は御回答頂いた関数は使用可能でしょうか?

何卒宜しくお願い致します。

お礼日時:2018/05/16 15:22

No2です



すでにNo1様が補足なさっているので、必要ないかも知れませんが…

>計算式が表示され、関数として認識されませんでした・・・
セルに関数式が表示されるというのであれば、「数式を表示」のモードになっているかと。
(その場合は、F3セルもH3セルも式が表示されるはずです)
もしもそうであれば、「数式タブ」の「数式を表示」を再度クリックすれば直るはずです。
そうでない事象の場合は、ちょっと文章だけからでは読み取れません。

>なにか配列数式を認識させる設定が必要でしょうか?
通常の数式はEnterキーの押し下げで数式として認識され、エクセルが計算してくれますが、配列数式の場合は、Ctr、Shift、Enterの3つのキーを同時に押し下げる必要があります。
配列数式として認識されれば、数式バーの表示の両端に{ }が付け加えられるので確認できると思います。
(見にくいかも知れませんが、添付画像の赤枠内を参照。F3セルの数式を表示しています)


※ 添付画像は、回答確認のために、必要な部分だけ値を入力して確認した際のものです。
「Excelでのシリアルナンバー管理をマク」の回答画像6
    • good
    • 0
この回答へのお礼

お礼部分に補足してしまいましたので、こちらに失礼させて頂きます。
この度はご回答ありがとうございました。

ベストアンサーは簡潔な式で、初心者の私でもすぐに理解の出来る数式をご提供頂いた、
fujillinさんにさせて頂きます。

MAXという指示も初めてつかったのですが、ああいった処理方法があるとは存じ上げませんでした。
大変勉強になりました。

別のシートに流用するために、数式の検証で勉強させて頂いたのですが感動致しました。
これを期に自宅でも勉強をしてみようと考えております。

また、数式が反映されない件に関しましてもご対応頂き、本当にありがとうございました。

お礼日時:2018/05/17 13:14

何度もごめんなさい。



当方の数式は1行ずれていました。
データは3行目からのようなので
F3セル(配列数式)を
=IF(OR(A3="",C3=""),"",IF(COUNTIF(A$3:A3,A3)=1,1,MAX(IF(A$2:A2=A3,H$2:H2))+1))

H3セルを
=IF(OR(A3="",C3=""),"",F3+C3-1)

にしてください。m(_ _)m
    • good
    • 0
この回答へのお礼

とんでも御座いません。
むしろ細部に渡りご説明いただき大変ありがたいです。

非常に勉強になりました。本当にありがとうございます。
また、別件でのご対応も迅速に行なって頂き有難うございました。

今回の質問の趣旨に関しまして、初心者としては難しかった部分はございましたが、
同じくtom04 さんの数式も検証させて頂きまして、非常に勉強になりました。

本当になにからなにまでありがとうございました。

お礼日時:2018/05/17 13:18

No.1・3です。



たびたびごめんなさい。
配列数式はF列だけでしたね。
どうも失礼しました。

H列は数式をそのままコピー&ペーストだけ(配列数式の操作は不要)で大丈夫です。m(_ _)m
    • good
    • 0

No.1です。



>計算式が表示され、関数として認識されませんでした・・・
>なにか配列数式を認識させる設定が必要でしょうか?

ん?
配列数式にならない!というコトでしょうか?

当方の数式でもNo.2さんの数式でもどちらでも構いませんので
この画面上で各セルに入力すべき数式をドラッグ&コピー → それぞれのセル(F2・H2セル)を選択 → 数式バー内に貼り付け → そのまま(編集可能なまま)
Ctrl+Shiftキーを押しながらEnterキーで確定!
数式の前後に { } マークが入り配列数式になります。

それをフィルハンドルで下へコピーしてみてください。m(_ _)m
    • good
    • 0

こんにちは!



F列が「0」から始まる場合、「受注数」とH列の個数が合わないので
F列は「1」から始まるようにしてみました。

画像の配置だとF2セルに
=IF(OR(A2="",C2=""),"",IF(COUNTIF(A$2:A2,A2)=1,1,MAX(IF(A$1:A1=A2,H$1:H1))+1))

配列数式なので、Ctrl+Shift+Enterで確定!(←必須★)し
フィルハンドルで下へコピー!

H2セル(配列数式ではありません)に
=IF(OR(A2="",C2=""),"",F2+C2-1)

という数式を入れフィルハンドルで下へコピーしてみてください。m(_ _)m
    • good
    • 0

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