Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


8840 / 13645 ツリー ←次へ | 前へ→

【30678】VLOOKUP関数で「0」を表示したくない あつ 05/11/2(水) 18:07 質問[未読]
【30681】Re:VLOOKUP関数で「0」を表示したくない Kein 05/11/2(水) 20:11 回答[未読]
【30692】Re:VLOOKUP関数で「0」を表示したくない わさび 05/11/2(水) 23:05 回答[未読]
【30722】Re:VLOOKUP関数で「0」を表示したくない あつ 05/11/3(木) 23:33 質問[未読]
【30724】Re:VLOOKUP関数で「0」を表示したくない とまと 05/11/4(金) 0:24 発言[未読]
【30730】Re:VLOOKUP関数で「0」を表示したくない あつ 05/11/4(金) 8:37 お礼[未読]
【30733】Re:VLOOKUP関数で「0」を表示したくない とまと 05/11/4(金) 9:01 発言[未読]
【30830】Re:VLOOKUP関数で「0」を表示したくない あつ 05/11/5(土) 14:06 発言[未読]

【30678】VLOOKUP関数で「0」を表示したくない
質問  あつ  - 05/11/2(水) 18:07 -

引用なし
パスワード
   こんにちは、ご教授ください。

シート2に入力した番号が、シート1にある場合に、
VLOOKUP関数で、各列のデータを表示するということをしています。
検索値があり、対応列の値が「(シート1):ブランクというか値がない」場合に、
取り出された値が「(シート2):0」になってしまいます。
シート2の各列に以下のような式を書いています。
IF(ISBLANK($G5),"",VLOOKUP($G5,シート1!$A$2:$AA$65536,16,0))

シート1のように、「ブランクというか値がない」状態で表示してほしいの
ですが、どうすればできるのでしょうか。

よろしくお願いします

【30681】Re:VLOOKUP関数で「0」を表示したくない
回答  Kein  - 05/11/2(水) 20:11 -

引用なし
パスワード
   IF(ISNA(VLOOKUP($G5,シート1!$A$2:$AA$65536,16,0),"",VLOOKUP($G5,シート1!$A$2:$AA$65536,16,0))

で、よいのでは ?

【30692】Re:VLOOKUP関数で「0」を表示したくない
回答  わさび  - 05/11/2(水) 23:05 -

引用なし
パスワード
   ActiveWindow.DisplayZeros = False
…で、どうでしょうか?

ちなみにふつうに「ツール」→「オプション」→「表示」で、
「ゼロ値」のチェックを外せば設定できます。

【30722】Re:VLOOKUP関数で「0」を表示したくない
質問  あつ  - 05/11/3(木) 23:33 -

引用なし
パスワード
   レスありがとうございます。

IF(ISNA(VLOOKUP($G5,シート1!$A$2:$AA$65536,16,0),"",VLOOKUP($G5,シート1!$A$2:$AA$65536,16,0))
試してみました、やはり「0」が返ってきてしまいます。

ActiveWindow.DisplayZeros = False
…で、どうでしょうか?
ちなみにふつうに「ツール」→「オプション」→「表示」で、
「ゼロ値」のチェックを外せば設定できます。

「ゼロ値」で0は表示されなくなるのですが、
この後に、自動で印刷する処理があって、そのとき
表示されていなくても、印刷時にはこの表示されていない「0」が
印刷されてしまいます。
最終的には、印刷時にこの「0」が印刷されなければいいのですが。
印刷シートで、セルがブランクのとき「−」を入れるという処理をしています。
「0」だったらという論理式を加えればいいのですが、
IF文の論理式にORなど使えるのでしょうか。
やってみたのですがだめでした。
どうするのがベストか、よろしくお願いします。

【30724】Re:VLOOKUP関数で「0」を表示したくない
発言  とまと  - 05/11/4(金) 0:24 -

引用なし
パスワード
   ▼あつ さん:こんばんは。

関数のなかにORを加えてみました。

=IF(OR(VLOOKUP($G5,シート1!$A$2:$AA$65536,16,0)=0,ISNA(VLOOKUP($G5,シート1!$A$2:$AA$65536,16,0))),"",VLOOKUP($G5,シート1!$A$2:$AA$65536,16,0))

明日またみます。では。

【30730】Re:VLOOKUP関数で「0」を表示したくない
お礼  あつ  - 05/11/4(金) 8:37 -

引用なし
パスワード
   ▼とまと さん:おはようございます。
>関数のなかにORを加えてみました。
>
>=IF(OR(VLOOKUP($G5,シート1!$A$2:$AA$65536,16,0)=0,ISNA(VLOOKUP($G5,シート1!$A$2:$AA$65536,16,0))),"",VLOOKUP($G5,シート1!$A$2:$AA$65536,16,0))
>

「0」表示しなくなりました。
ありがとうございます。
ORの使い方もわかりました、条件文の間に入れるのではないのですね。

それから「ゼロ値」なのですが、
印刷シートの方も「ゼロ値」のチェックを外すと「0」が印刷されませんでした。
間違ったことを書いてしまいすみません。

Keinさん、わさびさん、とまとさん ありがとうございました。
またよろしくお願いします

【30733】Re:VLOOKUP関数で「0」を表示したくない
発言  とまと  - 05/11/4(金) 9:01 -

引用なし
パスワード
   ▼あつ さん: おはようございます。

解決されよかったですね。
ところでVBAのラウンジですので
できた関数を最終行などを取得して
決まった範囲に貼り付けることも
自動化できそうですが。。
そのへんはご自身で自動化されているのですか?

【30830】Re:VLOOKUP関数で「0」を表示したくない
発言  あつ  - 05/11/5(土) 14:06 -

引用なし
パスワード
   ▼とまと さん:こんにちは
>
>ところでVBAのラウンジですので
>できた関数を最終行などを取得して
>決まった範囲に貼り付けることも
>自動化できそうですが。。
>そのへんはご自身で自動化されているのですか?

印刷ボタンを押して、印刷シートを判別して、
所定の位置に貼り付けをして、自動で印刷できるようにしています。

いろいろアドバイスありがとうございます。

8840 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free