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

下記のような【表A】と【表B】があります。
【表A】の期限の列(C列)に計算式を入れたいのですが、商品(B列)によって結果を変えたいです。
【表B】のA列にある商品は「A2+7」、B列にある商品は「A2+3」という結果を出したいのですが、
 どういう計算式を入れればいいでしょうか。

【表A】
 A B C
購入日 商品  期限
-------------------------------
2/1  りんご 購入日+7日
2/1  みかん 購入日+7日
2/1  なし 購入日+7日
2/1  豚肉 購入日+3日
2/1  鶏肉 購入日+3日
2/1  トマト 購入日+7日
2/1  牛肉 購入日+3日

【表B】
A B
期限7日 期限3日
-------------------------------
りんご 豚肉
みかん 鶏肉
なし    牛肉
トマト 鮭

宜しくお願い致します。

A 回答 (3件)

私も考えてみました。


B表そのものを活かすようにした場合に限りますが、

シート1
=SUMPRODUCT((Sheet2!$A$1:$C$5=B2)*{7,3,1})+A2
A1:C5 は、データ範囲

シート2
期限7日 期限3日 期限1日 (ひとつ加えてみました)
りんご  豚肉  サバ
みかん  鶏肉 
なし   牛肉 
トマト  鮭 

該当するものがないと、戻り値は「0」になってしまいますから、気をつけてください。
  
----------------
「セルにある文字列によって計算式を変えたい」の回答画像3
    • good
    • 0
この回答へのお礼

皆様の回答を参考に数式を作ってみました。
どれも参考になり無事解決できました。ありがとうございます。
元の表をいかせるWindFallerさんをベストアンサーにさせて頂きました。

お礼日時:2019/02/24 10:14

こんにちは


すでに回答は出ていますので、こんな方法もあるよという、別の考え方の例です。


仮に、表Bを以下のような形式にしておくと・・・

商品名 期限
--------------
りんご  7
みかん  7
なし   7
豚肉   3
鶏肉   3
牛肉   3
 ・・・・

表AのB列の商品で表Bから検索して、その日数を足せばよくなるので、場合分け(IF関数)は必要なくなり、検索用の関数(VLOOKUP関数)だけで解決することができます。
また、このような表にしておくと、商品の期限に7日、3日以外の日数が発生しても、商品ごとに個別の日数を設定できますし、その際にも設定済みの関数式はそのままで使えるというメリットがあります。
(現状の形式のままでも、同様の機能の関数式を作成することは可能ですが、少々複雑になります。
 まぁ、「どうせ日数は一律なのだから関係ないよ」ということなのかも知れませんが)
    • good
    • 1

この場合、


 B表にある文字列と比較して、同じものがあれば~、同じものがなければ~、
というIF関数で処理可能です。

まずは、”りんご” と ”豚肉” だけで考えてみてください。
それで数式を作ることができたら、
その数式の中の ”りんご” と ”豚肉” の条件を変えれば良いのです。
一覧の中に対象の文字があるかを検査すれば良いってこと。

こうやって数式を一つずつ組み上げるんです。

・・・
さて、この手順の中で何が分かりませんか?
「代わりに作ってください」
という ”作業依頼” はここではルール違反になります。
自分で作れるようになるためのアドバイスをしますよ。

自分で作ってみて思うように動作しない場合、その作った物を示すと
 ・何が分かっていないか。
 ・何を勘違いしているのか。
を判断できますので、具体的なアドバイスができます。

まずはガンバって自力で作ってみましょう。

「補足」や「お礼」に分からない点を書くと良いですよ。


・・・余談・・・
作るための考え方のアドバイスはしました。
あとは、どの関数を使ってどう組み合わせるかと言う話です。
 IF関数
 MATCH関数
 IFERROR関数
などを使うと良いでしょう。

他のシートを参照する方法も知っていると便利かと思います。
これはちょっと調べれば分かることですのでアドバイスはパス。
    • good
    • 0

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