[[20200808115344]] 『式をつなげたい』(はな) ページの最後に飛ぶ

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

 

『式をつなげたい』(はな)

ご教授お願いします。

条件によって拾う単価表のシートが違います。

今の式

=IF(Q1="","",INDEX(単価A!$B$3:$Q$1600,
MATCH(東京!K1,単価A!$R$3:$R$1600,0),
MATCH(東京!N1,単価A!$B$2:$Q$2,0)))

この式にC=""の条件を加えたい

さらにQ=""で、C=1の時の式は、
単価Aを単価Bに変え、2つの式を繋げたい

あれこれしたもののダメでした。
どなたかご教授よろしくお願い致します。

< 使用 Excel:Office365、使用 OS:unknown >


 数式を入力するシートを「Sheet1」としたときに、

 数式>名前の管理 新規作成
 名前:切替単価表
 範囲:ブック
 参照範囲: =IF(Sheet1!$C$1=1,単価B!$B$3:$Q$1600,単価A!$B$3:$Q$1600) 

 とする
 計算式は下記
 =IF(OR(C1="",Q1=""),"",INDEX(切替単価表, MATCH(東京!K1,INDEX(切替単価表,,1),0), MATCH(東京!N1,INDEX(切替単価表,1,),0)))

 これでどうでしょうか?
(稲葉) 2020/08/08(土) 13:29

ありがとうございます。

私の理解不足があり、引数が多いと表示されました
もう少し詳しく教えていただけないでしょうか?
よろしくお願いします!

(はな) 2020/08/08(土) 14:22


 いや・・・
 そのエラーになる式見てないのに何もできないですよ。
 提示した式はこっちでテストしてるので、エラーになってないと思います。
(稲葉) 2020/08/08(土) 14:41

 質問一部読み違えていました。すみません。

 条件整理させてください。
 ?の部分教えてください。
 Q1="" C1=""   の場合→ ""
 Q1="" C1=1    の場合→ 単価B表で計算
 Q1="" C1=1以外  の場合→ ?

 Q1<>"" C1=""   の場合→ 単価A表で計算
 Q1<>"" C1=1   の場合→ ?
 Q1<>"" C1=1以外 の場合→ ?

(稲葉) 2020/08/08(土) 15:29


大変失礼致しました
言葉足らずですいません

Q1=""としたのは、そうしないと単価セルに#N/Aが出てきて嫌だったから入れました

条件は、Qはあまり関係なくて、
C=""の時、単価A
C=1の時、単価B です
この条件のみです
常に空か1です
強いて言えば、Qが空の時、Cがなんであろうと空白であってほしいと思います

単価Aと単価Bのシートが違います。

=IF(Q1="","",INDEX(単価A!$B$3:$Q$1600,
MATCH(東京!K1,単価A!$R$3:$R$1600,0),
MATCH(東京!N1,単価A!$B$2:$Q$2,0)))

私のこの式だと、Cの条件は無関係に単価Aの値を返してきます
これにCが空か、1かの条件を盛り込み、
空ならば単価A、1ならば単価Bの値を返す式にしたいのです

ご教授お願いします大変失礼致しました

(はな) 2020/08/08(土) 16:00


 じゃあ名前の定義はそのままで、式だけ変更すれば大丈夫ですね。
 C=1の時は単価B、それ以外は単価Aで計算されます。

 =IF(Q1="","",INDEX(切替単価表, MATCH(東京!K1,INDEX(切替単価表,,1),0), MATCH(東京!N1,INDEX(切替単価表,1,),0)))
(稲葉) 2020/08/08(土) 16:11

単価A、単価Bはどこに入れたらいいですか?
切替単価表とはなんですか?

(はな) 2020/08/08(土) 16:25


(稲葉) 2020/08/08(土) 13:29
 ここの投稿読んでください
(稲葉) 2020/08/08(土) 17:01

初めに読みましたが意味がわかりませんでした。

C=""なら

=IF(C1="","",INDEX(単価A!$B$3:$Q$1600,
MATCH(東京!K1,単価A!$R$3:$R$1600,0),
MATCH(東京!N1,単価A!$B$2:$Q$2,0)))

C=1なら

=IF(C1=1,"",INDEX(単価B!$B$3:$Q$1600,
MATCH(東京!K1,単価B!$R$3:$R$1600,0),
MATCH(東京!N1,単価B!$B$2:$Q$2,0)))

IFを使っているので、どこかで分岐して
2つを繋げられたらいいなと思っていて
切替単価表や参照とか、得意でない者にとっては
何を言われているのかわかりません
他の方に伺ってみます
お手間を取らせてすいませんでした

(はな) 2020/08/08(土) 18:06


 はなさんの回答で、いつ「名前の定義がわからないので教えてほしい」と私に伝えました?
https://www.tipsfound.com/excel/01406

 検索すればすぐでてくるので、もう一度試してください。
(稲葉) 2020/08/08(土) 18:23

 Office365だったらIFS関数を使用したらどうでしょうか。
 論理式が真の場合の値を返します。  
 =IFS(論理式1,1が真の場合,論理式2,2が真の場合,・・・)
(um) 2020/08/08(土) 18:56

 >IFを使っているので、どこかで分岐して2つを繋げられたらいいなと思っていて 

 IF関数の中にIF関数を入れていくことをネスト(入れ子)といいます。(IF関数だけとは限りません。)
 =IF(論理式1, [真の場合1], IF(論理式2, [真の場合2], IF(論理式3, [真の場合3], [偽の場合3])))
 つまり、[偽の場合]の部分に次の条件を入れて処理していきます。

 =IFERROR(IF(C1="",INDEX(単価A!$B$3:$Q$1600,MATCH(東京!K1,単価A!$R$3:$R$1600,0),IF(C1=1,INDEX(単価B!$B$3:$Q$1600,MATCH(東京!K1,単価B!$R$3:$R$1600,0),MATCH(東京!N1,単価B!$B$2:$Q$2,0))),"")),"")

 データがわからないので検証していません。
(um) 2020/08/08(土) 20:02

コメント返信:

[ 一覧(最新更新順) ]


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