[[20090220124425]] 『空白時 表示』(芋) ページの最後に飛ぶ

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

 

『空白時 表示』(芋)

 今回も宜しくお願いいたします。

 Sheet1のC列に答えを求めたい。
 Sheet2のA列に商品No、B列に単価を入れてあります。
 Sheet1のA1に商品No10を入れB1が空白の場合Sheet2の(B1)の1000を表示したい。
又A2に商品No20を入れB2に8を入れたらC2は空白又は0にしたいのですが
ご指導宜しくお願いいたします。

 Sheet1			
	A	B	C
1	10	空白	1000
2	20	8	空白

Sheet2

	A	B	
1	10	1000	
2	20	2000	


 まず最初に
 『』の中に 内容の要約(タイトル)
 ()の中に ニックネーム です。

 それから、
 ご自身で作られた式を載せておくのが良いと思います。

 (HANA)

HANA 様

大変失礼いたしました。

 (芋)


 タイトルの件は、次回から気を付けてもらえば良かったのですが。

 それと、数式は全く出来ていないのでしょうか?
 VLOOKUP関数もIF関数も既にご存じだと思いますが。。。

 作ってみて上手く行かない場合は
  上手く行かない数式と
  どの様に上手く行かないかのご説明を
 あわせて載せておかれるのが宜しいと思います。

 (HANA)

HANA 様

 Sheet1に下記の式を記入していますが
@C1=IF(ISBLANK($A10),"",VLOOKUP($A10,Sheet2!$A$1:$B$873,2,FALSE))
@は全然・・・・
AC1=IF($B1="","",IF(ISBLANK($A1),"",VLOOKUP($A1,Sheet2!$A$1:$B$873,2,FALSE))) 
 Aは希望と逆になってしまいます何処を直したらいいのでしょうかアドバイスお願いいたします。

  芋


 (1)の式は
  A10セルが空欄の場合
    ""
  それ以外の場合
    VLOOKUP($A10,Sheet2!$A$1:$B$873,2,FALSE)
 と成っていますが、ご説明では
  B1が空白の場合
    Sheet2の(B1)の1000を表示したい。→VLOOKUPを計算
  それ以外の場合
    ""
 がご希望ですよね?

 A列のセルの状態に関係なく、値を表示すれば良いのなら
 「A10セルが」→「B1が」に変更と
 真の場合と、偽の場合に設定した物を入れ替えて下さい。 
 
 (2)の式もやはり、まず最初に
  B1="" の場合
     ""
  それ以外の場合
    続くIF関数を計算
 と言う式になっています。

 B1=""の場合、作って居られるIF関数を計算したいなら
 「真の場合」(2番目の引数)にIF関数をいれ
 「偽の場合」(3番目の引数)に"" を入れる
 と変更すれば良さそうに思います。

 すると、B1=""の時に
 IF(ISBLANK($A1),"",VLOOKUP($A1,Sheet2!$A$1:$B$873,2,FALSE))
 が計算され、この部分は
 A1が空欄で無い時に
 VLOOKUP($A1,Sheet2!$A$1:$B$873,2,FALSE) → Sheet2の(B1)の1000を表示
 する様な式ですから

 B1が空欄で、A1が空欄で無い時に VLOOKUP($A1,Sheet2!$A$1:$B$873,2,FALSE)
 それ以外の時は "" が返される式になります。

 (HANA)

 難しいですかね。。。

 当初のご説明だけの式なら
 (1)C1=IF(ISBLANK($A10),"",VLOOKUP($A10,Sheet2!$A$1:$B$873,2,FALSE)) から

 =IF(ISBLANK($B1),VLOOKUP($A1,Sheet2!$A$1:$B$873,2,FALSE),"")
 =IF($B1="",VLOOKUP($A1,Sheet2!$A$1:$B$873,2,FALSE),"")
 等

 A1セルの状態も含めて式を作るなら
 (2)C1=IF($B1="","",IF(ISBLANK($A1),"",VLOOKUP($A1,Sheet2!$A$1:$B$873,2,FALSE))) から

 =IF($B1="",IF(ISBLANK($A1),"",VLOOKUP($A1,Sheet2!$A$1:$B$873,2,FALSE)),"")
 =IF($B1="",IF($A1="","",VLOOKUP($A1,Sheet2!$A$1:$B$873,2,FALSE)),"")

 或いは 条件部分をまとめて
 =IF(AND($A1<>"",$B1=""),VLOOKUP($A1,Sheet2!$A$1:$B$873,2,FALSE),"")

 (HANA)

HANA 様

お世話になります。

難しいです
最初のデーターで色々試行錯誤してみたのですがやはり駄目でしたが

答えをいただきありがとうございました。

勝手なお願いですが=IF(AND($A1<>"",$B1="")この部分の意味を教えてもらえないでしょうか。

  芋


 >この部分の意味を
 と言う事ですが、なんだかおしい感じなので
 その周りも含めて。
 「もう充分わかってるよ」って場合は
 必要な部分だけ読んで下さい。

 IF関数についてです。
 IF関数は
  IF(論理式,真の場合,偽の場合)
 の様に3つの引数を設定し、
  指定された条件が TRUE (真) のとき真の場合を返し、FALSE (偽) のとき偽の場合を返します。
 という関数です。

 論理式の部分が 
  成立する=TRUE=真 の時 「真の場合」に分岐し
  成立しない=FALSE=偽 の時 「偽の場合」に分岐します。
 たとえば、
  A1<>"" という論理式は
    A1が""でない = A1が空欄でない 時に 成立する=TRUE=真 となります
=IF(A1<>"","真=空欄でない","偽=空欄")
 この式は、論理式が A1<>"" ですから
 A1に何か入力があるとき 「真=空欄でない」と表示され
 それ以外(A1に入力がない時)「偽=空欄」と表示されます。

 また、
  B1="" という論理式は
    B1が""のとき = B1が空欄 の時に 成立する=TRUE=真 となります
=IF($B1="","","偽=空欄でない")
 この式の論理式はB1が空欄の時に 成立するので
    このとき "" を返し空欄になります。
 それ以外のとき「偽=空欄でない」を表示します。

 今回は、B1="" のとき、VLOOKUP関数の結果が欲しかったので
 (1)では
=IF($B1="","VLOOKUPを計算する。","何も表示しない。")
           ~~~~~~真の場合~~~~~~  ~~~~~偽の場合~~~~~
 という式にしておく必要がありました。

 さて、
 >AND($A1<>"",$B1="")この部分
 に関しては、これは AND関数 という関数です。
 AND関数は
  AND(論理式1, [論理式2], ...)
 の様に引数を設定し、
  すべての引数が TRUE のときに TRUE を返します。
 という関数です。

 (2)の該当の数式を見ると、IF関数は
=IF(AND($A1<>"",$B1=""),VLOOKUP($A1,Sheet2!$A$1:$B$873,2,FALSE),"")
    ~~~~~~論理式~~~~~~  ~~~~~~~~~~~~~~~真の場合~~~~~~~~~~~~~~~~ ~~偽の場合
 となっています。

 どんな時に、VLOOKUP関数が実行されれば良いのか(真の場合 になればよいのか)
 というと、
  A1セルが空欄でなく(A1<>"")、B1セルが空欄(B1="")のとき
 この二つの論理式が共にTRUEとなったときです。

 そこで、二つの論理式がTRUEの時にTRUEを返す
 AND関数の中に、この二つを入れます。
AND($A1<>"",$B1="")
 両方の論理式が成立した時に、この関数はTRUEを返すので
 IF関数の論理式としてTRUEがセットされ、「真の場合」に分岐します。

 (HANA)

HANA 様

有難うございました。

教えて頂いた論理を理解するように頑張ります

又のご指導宜しくお願い致します。


コメント返信:

[ 一覧(最新更新順) ]


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