[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『式をつなげたい』(はな)
ご教授お願いします。
条件によって拾う単価表のシートが違います。
今の式
=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
(はな) 2020/08/08(土) 16:25
ここの投稿読んでください (稲葉) 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.