[[20230316161538]] 『複数条件にあえばさらに計算式を入れたい』(さら) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『複数条件にあえばさらに計算式を入れたい』(さら)

ifやifsを組み合わせてみたのですが思い通りに結果が出ず
ご教授おねがいいたします。

複数条件にあっていたら表2の単価の金額を表1のC列に入れたいのですが
どのように組めばよいのか分からず教えてください。よろしくお願いいたします。

表1
   A列   B列   C列
   種類   金額   結果  

 1 自動車  10000   300 
 2 バイク  5000   190 
 3 電車   20000   空白
 4  自動車  28000   800

表2  A列   B列

    金額   単価   
 1  4200   190
 2  7100   300
 3  12000   500
 4    23000     800
 5    33000     1000

 
条件
1_表1のA列が自動車かバイクの時

2_表1のB列の金額が表2のA列の金額以上であれば表2のB列の単価を返す

 

< 使用 Excel:Microsoft365、使用 OS:Windows10 >


ちなみに下記のような計算式を入れたのですが、知識不足で思ったようにいきませんでした。

 =IF(OR($A1="自動車",$A3="バイク"),IFS(B1=4200,190,B1>=7100,300,B1>=12000,500,B1>=23000,800,B1>=33000,1000,B1=0,""),"")

(さら) 2023/03/16(木) 17:45:01


 ・表2は Sheet2
 ・どちらの表も、1行目は見出し、データは2行目から

 C2 =IF(OR(A2="自動車",A2="バイク"),LOOKUP(B2,Sheet2!$A$2:$B$6),"")
 下コピー

 こういうこと?
(笑) 2023/03/16(木) 18:00:35

(笑)さん

ありがとうございます。思った通りの数字になりましたが
sheet1のA列が"電車"の場合は空欄にしたいのですが
その場合どのような方法がありますか?
(さら) 2023/03/16(木) 18:29:22


(笑)さん

 すみません!できていました。
 自分が絶対値にする場所まちがえていましたのでできました。

 追加でお聞きしたいのですがエラー値がでないようにするには

 =IFERROR(IF(OR(A2="自動車",A2="バイク"),LOOKUP(B2,Sheet2!$A$2:$B$6),"")))

としたのですが、この関数に関して少なすぎる引数が入力されています
・・・となってしまいます。修正箇所教えてほしいです。
(さら) 2023/03/16(木) 18:48:50


修正箇所わかり解決いたしました。
ありがとうございました。
(さら) 2023/03/16(木) 19:15:39

もう解決済みですが、参考出品です。
これは私が今可愛がっているChatGPTくんの出した答えです。
一応同じ結果が得られます。

 C2 =IF(AND(A2="自動車",B2>=INDEX(Sheet2!$A$2:$A$6,MATCH(B2,Sheet2!$A$2:$A$6,1))),INDEX(Sheet2!$B$2:$B$6,MATCH(B2,Sheet2!$A$2:$A$6,1)),IF(AND(A2="バイク",B2>=INDEX(Sheet2!$A$2:$A$6,MATCH(B2,Sheet2!$A$2:$A$6,1))),INDEX(Sheet2!$B$2:$B$6,MATCH(B2,Sheet2!$A$2:$A$6,1)), ""))

(通りすがり) 2023/03/17(金) 10:59:28


(通りすがり)さん

ChatGPTくんもありがとうございました。
INDEX、MATCHだと配列が昇順でないときに有効ですね!
色々勉強になります。
みなさんありがとうございましたm(__)m
(さら) 2023/03/17(金) 16:20:37


 >これは私が今可愛がっているChatGPTくんの出した答えです。
 使ったことないんだけど、どういう質問したら答えが返ってくるの?
(稲葉) 2023/03/17(金) 17:39:48

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.