アクセスでこのような関数を使っています。
=IF(ISNA(VLOOKUP(C5,部品番号対照表!$A$2:$B$330,2,FALSE)),"! NO DATA !",VLOOKUP(C5,部品番号対照表!$A$2:$B$330,2,FALSE))
一応機能するのですが、$B$330の中で空欄があると『0(ゼロ)』と表示されてしまいます。ここに何も表示されないようにするにはどうしたらいいですか?
"!NO DATA!"の所を『""』にすればよいかと思いやってみましたが、やはり0(ゼロ)が表示されます。
ふー、困りました。

このQ&Aに関連する最新のQ&A

A 回答 (5件)

Excel風に見えますのでそのつもりで回答します。

誤っていましたら読み飛ばしてください。
式を見ますと、C5の値でA列を検索しているのだから、照合できてB列が空白の場合、ISNAには該当しないので判別式は「偽」になり、VLOOKUPの帰値であるC列の空白が「0」表示されると思いますが・・・・・。式の趣旨を想像すると、
=IF(ISNA(VLOOKUP(C5,部品番号対照表!$A$2:$B$330,2,FALSE)),"! NO DATA !",IF(VLOOKUP(C5,部品番号対照表!$A$2:$B$330,2,FALSE)="","! 未登録 !",VLOOKUP(C5,部品番号対照表!$A$2:$B$330,2,FALSE))) くらいにすれば、A列で見つからなければ「! NO DATA !」、見つかったがその値が空白ならば 「! 未登録 !」の表示になります。当然、「! 未登録 !」を「 」にすれば空白表示になります。
    • good
    • 0
この回答へのお礼

ありがとうございます。
出来ました。うれしーぃです。
大感謝です。

お礼日時:2001/01/22 10:38

書式→セル→表示形式でユーザー設定を選び、[種類] ボックスに「0;0;」と入力して、「0」を表示させない…というのは、どうでしょうか?



(excl helpより)
    • good
    • 0

いっそのことフィールドを数値型じゃなくてテキスト型にしてしまうとか。


もしくはフォームを使用して閲覧するのであればフォーム上でゼロの場合はBGCOLORと同色で表示するとか。
    • good
    • 0

試した事ないんですけど"Null"なんてダメですかね…

    • good
    • 0
この回答へのお礼

"Null"でもだめですぅ。

お礼日時:2001/01/19 15:04

『""』ではなく、『 』っと半角スペースを入れるってのはダメ??

    • good
    • 0
この回答へのお礼

『 』スペースでもダメです。""の間にスペースを入れても入れなくてもやはり表示は0(ゼロ)ですぅ。

お礼日時:2001/01/19 15:05

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Qピポッドテーブルの抽出方法について NO,2

 A    B     C        D 
日付  氏名   商品     数量
1月1日  ○   みかん     10
 ・   △   みかん     12
 ・   □   みかん     1
1月4日  ○   みかん     10
 ・   ▼   みかん     5
上記の様に日計売上表を作成し入力しております。

お尋ねしたいのは 現在ピポッドを活用し お客様別や商品別を抽出しているのですが、「購入個数が多い人順」に並べる事が出来ずに困っております。

上記の表ですと
12  △
10  ○

5  ▼
1  □
と なります。求めたいのは
20  ○
12  △


5  ▼
1  □
と言う 「購入合計順」に抽出結果を出したいのです。
ピポッドテーブルで出来ることならばそのやり方、ピポッドテーブルでは出来ないのであればその方法、どうかご教授下さい。

当方はエクセルの素人で、関数も上手く使いこなせない程度です。
もちろんVBAなんて言うのも作ってもらったコードをコピーして貼り付ける事ぐらいしか出ませんので その旨お願い致します。

 A    B     C        D 
日付  氏名   商品     数量
1月1日  ○   みかん     10
 ・   △   みかん     12
 ・   □   みかん     1
1月4日  ○   みかん     10
 ・   ▼   みかん     5
上記の様に日計売上表を作成し入力しております。

お尋ねしたいのは 現在ピポッドを活用し お客様別や商品別を抽出しているのですが、「購入個数が多い人順」に並べる事が出来ずに困っております。

上記の表ですと
12  △
10 ...続きを読む

Aベストアンサー

こんにちは。

ワークシート上に配置した氏名フィールドの▼をクリック
その他の並べ替えオプションをクリック
降順をクリック
合計/数量を選択
OKをクリック

では如何でしょうか?

QFALSE & TRUE について

初歩の質問ですが関数でたとえば VLOOKUP(A1,商品,0)
の式があります。
検索の型がFLASEとなっていたり 0 となっていたり
します。TRUEは 1 とか TRUE になっています。
なにか使い分けがあるのでしょうか?
分かる方教えてください。

Aベストアンサー

VLOOKUP()等における検索の型の指定は、Excelのヘルプ等の記載では、TRUE or FALSEですが、コンピュータ言語の世界では、

FALSE = 0
TRUE <> 0 (0ではない数値=0以外の数値)

という決まりがあるので、FALSEの代わりに 0 を、TRUEの代わりに 1 を使うことができます。(FALSE or TRUEと 0 or 1 とで、特に使い分けというのはないと思います。)

QApplication.ScreenUpdating=Falseを使うと・・・。

VBAでユーザーフォームを表示させ、コマンドボタンを押すと
ユーザーフォームを閉じて処理を開始すると言う設定をしているのですが
ここにApplication.ScreenUpdating=Falseを追加すると
ユーザーフォームが閉じずに処理を行なってしまいます。
(最後まで開いたまま)

コマンドボタンのクリックイベントの最初にUserForm1.hideと入れ、その後にApplication.ScreenUpdating=Falseを入れた後に
行なう処理を書いているのですが、どこか間違っていますでしょうか?

お教え下さい。よろしくお願いします。

Aベストアンサー

fk_sapさん、こんばんは。Wendy02です。

ここらの話は、設計の問題なんですね。
人の好き好きにもあると思いますし、あまり、これという方法もあるわけではありません。

>ユーザーフォームを消して「処理中」などと書いたシートを
>表示させてみようかなどと、技術もないクセにそう言う理想ばかりが先走ってしまって・・・(汗)

ご指摘のとおり、その問題は、「処理中」いう表示ですね。私は、凝ったことをせずに、ユーザーフォーム上のラベルなどに出してしまいます。フリーソフトのExcelユーティリティには、すごく凝った、プログレスバーもどき(本物は配布できないはず)などしている人がいますが、それは、VBでするならともかく、私は、Excelでは、すこぶる簡単にしてしまいます。

他にワークシート上に出すと言っても、よく、Windowのタイトル部分や、ステータスバー部分を使うことは思いつくのですが、必ずしも、人は見ないような気がしてやめてしまいます。「処理中」などと書いたシート なんて、オブジェクトとしては、私には重過ぎるように思いますね。

>Beepを入れることによって、どう言う効果があるのでしょうか?

これは、私の癖かもしれませんね。終了が気が付かないことがあるからです。MsgBox は、最後にクリックをしなければ終われません。その代わりに、終了の合図にWshShell.PopUpを使う人がいます。クリックを押さないで、MsgBox を終わらせられるからです。私は、どちらも面倒なので、Beepだけで済ませてしまいます。

fk_sapさん、こんばんは。Wendy02です。

ここらの話は、設計の問題なんですね。
人の好き好きにもあると思いますし、あまり、これという方法もあるわけではありません。

>ユーザーフォームを消して「処理中」などと書いたシートを
>表示させてみようかなどと、技術もないクセにそう言う理想ばかりが先走ってしまって・・・(汗)

ご指摘のとおり、その問題は、「処理中」いう表示ですね。私は、凝ったことをせずに、ユーザーフォーム上のラベルなどに出してしまいます。フリーソフトのExcelユーティ...続きを読む

QApplication.DisplayAlerts =Falseでも警告される?

下記のコードを実行するとSheet1という名前のシートがないBookを開いた場合、「統合元ファイル○○のSheet1を開けません」という警告がでます。
無ければ集計しなくていいので「はい」を押せばいいのですが、その都度止まってしまうのは困ります。
Application.DisplayAlerts = False としても警告されるのはなぜでしょうか?出ないようにすることは出来ないのでしょうか?

Sub test03() 'Sheet1のみ開かずに統合
Dim MyFile As String, MyPath As String
Dim SumFile() As Variant, i As Long
MyPath = ThisWorkbook.Path & "\"
MyFile = Dir(MyPath & "*.xls", vbNormal)
Do Until MyFile = ""
If MyFile <> ThisWorkbook.Name Then
ReDim Preserve SumFile(i)
Application.DisplayAlerts = False
SumFile(i) = "'" & MyPath & "[" & MyFile & "]Sheet1'!R1C1:R10C2" 'A1からB10のLinkを変数に代入
Application.DisplayAlerts = True
i = i + 1
End If
MyFile = Dir
Loop
If i = 0 Then MsgBox "データが有りません ( ̄□ ̄;)!!": Exit Sub
Worksheets("Sheet1").Range("A1").Consolidate Sources:=SumFile()
End Sub

下記のコードを実行するとSheet1という名前のシートがないBookを開いた場合、「統合元ファイル○○のSheet1を開けません」という警告がでます。
無ければ集計しなくていいので「はい」を押せばいいのですが、その都度止まってしまうのは困ります。
Application.DisplayAlerts = False としても警告されるのはなぜでしょうか?出ないようにすることは出来ないのでしょうか?

Sub test03() 'Sheet1のみ開かずに統合
Dim MyFile As String, MyPath As String
Dim SumFile() As Variant, i As Long
MyPath...続きを読む

Aベストアンサー

横から失礼します。

> ブックをOpenせずにSheet1の存在確認をする方法はありますか?

これをヒントに関数化してみて下さい。

Sub Sample()

  ' ExecuteExcel4Macro メソッドを使う方法
  ' ダミーアクセスしてエラーになったらシートは無い
  
  Dim strQry As String
  Dim Dummy As Variant
    
  strQry = "'C:\[test.xls]Sheet1'!R1C1"
  Dummy = Application.ExecuteExcel4Macro(strQry)
  If IsError(Dummy) Then
    MsgBox "Sheet1 は無い"
  Else
    MsgBox "Sheet1 が在る"
  End If

End Sub

QSQL文で、1,2,3、以外(0とかブランク)を1と見立てて集計したい

データを取り出す時次のように書きます
SELECT テーブル1.id, テーブル1.kubun FROM テーブル1;

このフィールドkubun、は本来、1、か、2、ですが
例外的にブランクや0(ゼロ)が入っています。
フィールドkubun、がブランクやゼロだったら、1に変換
しながら、テーブル1から集計するSQL文はないでしょうか?

テーブル1を前もって変換しておけが、いいのですが
そうした方法を使わず、集計の時に行いたいのですが

Aベストアンサー

単純にやるなら、REPLACE(フィールド名, 該当する値, 変換する値) にするのはどうでしょうか。
この例でいくと
SELECT テーブル1.id, REPLACE(テーブル1.kubun,0,1) FROM テーブル1
って感じですかね。
※上の例は0を1にする形にしかしてません。

ブランクとは、全なのか半なのかわかりませんがこれもネストさせれば
十分対応できるかと思います。

ただし、nullの場合は IsNullなどを使わなければいけません。


人気Q&Aランキング

おすすめ情報