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

Excelで例えばA1のセルに「1-10」という文字列が入力されています。A2に「1-4」を入力すると、A3には A1の残数として「6-10」と表示ができるような関数はないでしょうか?
1-10とはケース№で、1-4とは出荷した№になり、残っているケース№をわかるようにしたいのです。

よろしくお願いします。

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

  • zongai 様

    ややこしい書き方してますね。すみません。 「1-10」は 1~10のケース№となります。
    ですので 「1-4」とは №1~№4の 4ケースを出荷した事になり、残っているケースのケース№は 「6~10」のケース№が残っています。という事になります。

    No.1の回答に寄せられた補足コメントです。 補足日時:2024/01/07 16:58
  • zongai 様

    ありがとうございます。 できました。 あまり知識がなくすみません。
    また、間違いにも気づいて頂いてありがとうございます。

    こちら、セル№を変更して使用する事ができますか?
    質問は例えばでしたので実際に使用するフォーマットではセル番号が違うため・・

    本当にありがとうございます。

    No.3の回答に寄せられた補足コメントです。 補足日時:2024/01/07 17:35
  • mimon01 様

    VBAは私、全然わからないのですみません。
    ありがとうございました。

    No.2の回答に寄せられた補足コメントです。 補足日時:2024/01/07 17:37

A 回答 (5件)

式中の「★」を、[在庫ナンバーが入力されたセル]に書き換える


式中の「■」を、[出荷ナンバーが入力されたセル]に書き換える
これだけで済むことではないのかな?

=IF(RIGHT(★,LEN(★)-FIND("-",★))*1>RIGHT(■,LEN(■)-FIND("-",■))*1,RIGHT(■,LEN(■)-FIND("-",■))+1&"-"&RIGHT(★,LEN(★)-FIND("-",★)),"")
    • good
    • 1
この回答へのお礼

zongai様

ご丁寧にありがとうございます。本当に助かりました。

お礼日時:2024/01/07 18:42

ちょっと気になったので、横から失礼します。

そもそも、ご質問の前提条件が曖昧です。

>「1-10」は1~10のケース№となります。
>ですので「1-4」とは№1~№4の4ケースを出荷した事になり、
>残っているケースのケース№は「6~10」のケース№が残っています。
という説明ですが、zongaiさんが間違いを指摘され「6~10」が「5~10」に訂正されました。

そこまではよいのですが、出荷順についての説明が一切ありません。例えばA1セルに「1-10」と入力され、A2セルに「3-5」と入力されるようなことはないのでしょうか?
仮に「若いNoから順に出荷されるのでそのようになることはない」というのであれば、A2に「1-4」と入力する意味はなく、出庫数である「4」を入力すれれば足りる話です。
何故なら「若いNoから順に出荷される」のであれば、「1-10」のうち4個といえば「1-4」に決まっているからです。つまり「無駄な入力を行っている」という話になります。

そうではなく、A2に「3-5」と入力されることもあるのであれば、A3の表記をどうするのかという問題が発生します。A3を「6-10」のように表記できないからです。「1-2,6-10」のように二つに分けて表記する方法もあるとは思いますが、この辺の前提条件が曖昧で回答のしようがありません。

ちなみにzongaiさんの回答は「若いNoから順に出荷される」という前提のようです。このため、A1に「1-10」、A2に「9-10」と入力すると最終番号まで出荷されたことになり、A3にはなにも表示されなくなります。

これをA3に「1-8」と表示したいのであれば、出荷順についてきちんと説明すべきです。
    • good
    • 0

補足拝見しましたが…



A1 1-10 ケース№
A2 1-4 出荷した№
A3 5-10 残っているケース№  ←こうじゃないですか?

とりあえずの作ってみた数式
=IF(RIGHT(A1,LEN(A1)-FIND("-",A1))*1>RIGHT(A2,LEN(A2)-FIND("-",A2))*1,RIGHT(A2,LEN(A2)-FIND("-",A2))+1&"-"&RIGHT(A1,LEN(A1)-FIND("-",A1)),"")
この回答への補足あり
    • good
    • 0

シート関数では不可能です。


半角の-や全角のーに加えて全角の~まで含まれていると、判別するには一文字ずつチェックする必要がありますから、VBAで非常に面倒くさいプログラムを組むことになります。
シート関数の機能は限定的ですから、逆にシートの構成を文字列の1-10ではなく数値の1と10に隣接するセルに分けたら、何とかなります。
この回答への補足あり
    • good
    • 0

1-10 ケース№


1-4 出荷した№
6-10 残っているケース№

「6」は10-4なのかな?
「10」は何?
「1-」は消えちゃうの?
この回答への補足あり
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A