[[20210718180302]] 『IFERRORを使うと空欄までがエラーでなくなってしax(みやっち) ページの最後に飛ぶ

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

 

『IFERRORを使うと空欄までがエラーでなくなってしまう』(みやっち)

こんにちは
エクセル2016をつかっています。

データベース とう名前のシートがあるとします。

そのデータベースを使ってD6セルに答えを入れたいのですが、
そのデータベースにD6に対する値がVlookで探しても入っていないので
N/A表示がされます。

しかし、D列には空欄もあり、そこもコピーするとN/A表示がでてきてしまい、
VLOOKで値がないときだけ×をいれたいのですが、どうすればよいでしょうか。

悩んだあげく、下記のようにしたら、今度はすべてが空欄になってしまいました。4時間ほど戦っています。お助けください

=IF(D6="","",IFERROR(IF(B6="",VLOOKUP(A6,データベース!$D$2:$F$2000,2,FALSE),B6,"×"))

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


if(isna(vlook・・・),xx,ggg)
(へたれ) 2021/07/18(日) 18:29

あ、IFERRORか。
(へたれ) 2021/07/18(日) 18:30

IFERRORでした。誤字です。
(みやっち) 2021/07/18(日) 18:55


質問内容における疑問点
>D6セルに答えを入れたいのですが、
答えを入れるシートは別ですか。
>D6に対する値がVlookで探しても入っていないので
提示された式では A6 となっていますけど違いますか。
>D列には空欄もあり、そこもコピーするとN/A表示がでてきてしまい
N/A になった時のコピーした式を提示してください。
提示された式で B6 とありますがこれは何ですか。
とりあえず
D6=IFNA(VLOOKUP(A6,データベース!$D$2:$F$2000,2,FALSE),"×")
でどうでしょうか?
(KO) 2021/07/18(日) 20:23

   A	B	C	D	E	F	G 
 1						
 2  6				A6	6	60
 3 B6				A7	7	70
 4 ×				A9	9	90
 5 				A1	1	10
 6 A6	B6			A3	3	30
 7 A6			DD	A4	4	40
 8	B6		DE			
 9 XX			DG	

 A1に 
 =IF(D6="","",IFERROR(IF(B6="",VLOOKUP(A6,$E$2:$G$2000,2,FALSE),B6),"×"))	

 =IF(D6="","",IFERROR(IF(B6="",VLOOKUP(A6,データベース!$D$2:$F$2000,2,FALSE),B6,"×"))	
 は、
 =IF(D6="","",IFERROR(IF(B6="",VLOOKUP(A6,データベース!$D$2:$F$2000,2,FALSE),B6),"×"))
 のつもりでは、ないでしょうか?
 このようになります。

(6up) 2021/07/19(月) 05:06


言葉足らずで本当にご迷惑おかけしていいます。そして本当にありがとうございます。

計算式がわからないシート(この場合入力シートと呼ぶことにします)とは、
別シートでデータベースというエクセルシートがあり、
この【データベース】には【コード】と【金額】だけが歯抜けではなく全部きっちり入っています。
データベースには名前がないところがあります。

この2つのシートは同じブック内に存在しています。

そこで今こまっている【入力シート】がこんな風に歯抜けになっていて、
データベースからコードを基準にVlookをかけながら入れるようにしています。
【入力シート】のAのコードと金額には、歯抜けはありません。

コードと名前は、すべて【データベース】のA列を検索値としています。
データベースの中のコードは$D$2:$F$2000,1にあり、
データベースの中の氏名は、$D$2:$F$2000,2にあります。

以下の【入力シート】で、Eに入れる計算式に困っています。
ただ、毎回歯抜けのところの計算式を、セル右下の+マークをダブルクリックしても
空白の部分でとまってしまい、マクロで自動で最大2000行まで自動でコピーするように
しています。

で、下の入力シートはAとDはほぼ同じものになるのですが
Eをオートコピーすると空白までIFERRORの影響を受けて
空白になってしまいます。

氏名がデータベースにないときに×にしたいのに、このIFERRORのせいで
空白になってしまいますので、
フィルターで空白だけEを選んでも、データベースにない氏名と、空白が一緒になって
でてきてしまって、その後の作業の計算式にも影響がでています。

ですので、Eセルには、Dが空白なら、Eを空白にしたいという願いと
もしBの氏名が空白なら、データベースの$D$2:$F$2000,2からさがして
なかったら×にしたいと思ってできたのが↓になります。(質問時と変えました)

Eには、
=IF(D6="","",IFERROR(IF(B6="",VLOOKUP(A6,データベース!$D$2:$F$2000,2,FALSE),B6),"×"))
といれましたが、相変わらず、空欄も名前なしも、空欄になってしまいます。

  

      コード   名前   金額  Aがデータベースと同じなら  Eがデータベースと同じなら                     
                      同じコード入力     同じ名前入力、違うなら×
  
5行目     A       B       C         D                     E         

6行目  12345  空欄   50000 12345 (理想) 佐藤健

        34723    空欄      600        34723            (理想)  ×
 
        92748     宮沢健司   4500       92748            (理想) 宮沢健司

    27940       3000 空欄            (理想)  ×

    空欄     空欄    空欄   空欄            (理想) 空欄

今の表はこんな感じです。長々と申し訳ございませんでした。
IFNAとかいろいろためしたのですが、むつかしくて。。。
(みやっち) 2021/07/19(月) 06:28


 申し訳ありませんが、ご提示の表はずれていまして、よく理解できません。

 私の表では、A9にXX、B9が空白、のときは、期待値×が戻ります。
 =IF(D9="","",IFERROR(IF(B9="",VLOOKUP(A9,$E$2:$G$2000,2,FALSE),B9),"×"))
(6up) 2021/07/19(月) 06:41

表がずれないようにするには
エクセルから直接コピペして貼り付けるのがよいのでしょうか?

(みやっち) 2021/07/19(月) 06:47


 私の投稿したものは、ご確認されたのでしょうか?
 別シートのテストは、わたしは、遠慮します。

 シートの該当範囲をコピーし、メモ帳に貼り付け、行の先頭に半角SPACE、次に行番号を半角で入力、
 次に半角SPACE、と次々と各行に入力して行きます。
 一番上の行の最初に改行をいれ、一行増やし、
 SPACEを何個か入力し、下の入力にあわせ、A、再度、SPACE…、B……と入力します。
 セル内容が、ながいものは、TAB位置をこえるので、SPACEで調整します。

 という手順で、わたしは、ここに投稿しています。
(6up) 2021/07/19(月) 07:15

 空欄のはずのB6に対して、空いているセルに=LEN(B6)とすると、
 0が戻るはずですが。。。
(6up) 2021/07/19(月) 08:26

 >コードと名前は、すべて【データベース】のA列を検索値としています。
  ↑ の意味がわかりませんのでスルーしました。

 >Dが空白なら、Eを空白にしたいという願い
 理想は×になってますけど?

	A	B	C	D	E
6	12345		50000	12345	佐藤
7	34723		600	34723	×
8	92748	宮沢	4500	92748	宮沢
9	27940		3000		×

					↑ 理想

 E6 =IF(A6="","",IF(B6<>"",B6,IFERROR(VLOOKUP(A6,データベース!$D$2:$E$2000,2,FALSE),"×")))
 下コピー

 以上
(笑) 2021/07/19(月) 09:04

 違うか・・・
 >データベースには名前がないところがあります。

 入力シートのB列が空白のとき
 データベースに名前が入力されていなかったら、E列はどうなればいいんですか?
 ×ってこと?

 E6 =IF(A6="","",IF(B6<>"",B6,IFERROR(TEXT(VLOOKUP(A6,データベース!$D$2:$E$2000,2,FALSE),";;×;@"),"×")))

 こういうこと?

 以上
(笑) 2021/07/19(月) 12:44

コメント返信:

[ 一覧(最新更新順) ]


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