- ベストアンサー
エクセルとのリンクエラー「#Num!」について
いつもお世話になっております。 if関数で空白処理した計算式を入れたエクセルシートを、ACCESS2016にリンクテーブルとしました。 しかし、リンクテーブルを見ると、エクセルで空白となった箇所は「#Num!」と表示されてしまいます。この「#Num!」と表示なっている箇所を、エクセルと同様に空白表示できますでしょうか。リンク元のエクセルのセルに文字や数字を入れれば良いと思いますが、このままの状態でACCESSのリンクテーブルも空白にできればと考えています。 どうかご教示をよろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
No1,No2です。いろいろなことが後先になってしまいますが、 >このままの状態でACCESSのリンクテーブルも空白にできればと考えています。 残念ながらAccessのリンクテーブルは参照オンリーなので、プロパティを 変更することができません。Excelの側で処理をするか、あるいはAccess でそのままリンクしてクエリで表示を変更するかです。 Accessでのクエリによる表示の変更はNo1の通りですが、このクエリを 表示テーブルとして使用するしかないでしょう。
その他の回答 (2)
- piroin654
- ベストアンサー率75% (692/917)
No1です。 >このような場合、新規にクエリを作成し、 >クエリのデザインで、 のところは、 このような場合、新規にクエリを作成し、 クエリのデザインで、リンクしたテーブルの フィールドをもとに、 です。
- piroin654
- ベストアンサー率75% (692/917)
>if関数で空白処理した計算式 どのような式が設定されているのか定かではありませんが、 例えば年齢が30未満ならば結果にその年齢を 表示し、30以上ならば結果を空白にする、ということを ExcelではIf関数を使って、 =IF(D2<30, "", D2) のような式を設定しますが、 名前 性別 年齢 結果 織田信長 男 27 27 豊臣秀吉 男 40 Excelで結果に式を設定してAccessでリンクすると以下のように 結果のフィールドに#Num!が表示されるレコードが出てきます。 名前 性別 年齢 結果 織田信長 男 27 27 豊臣秀吉 男 40 #Num! このような場合、新規にクエリを作成し、 クエリのデザインで、 フィールド 名前 性別 年齢 結果:IIf([年齢]<30,"",[年齢]) テーブル Sheet1 Sheet1 Sheet1 表示 チェック チェック チェック チェック のようIIF関数を使って処理をします。 見てもらいたいのは結果というフィールドはSheet1というテーブルの 結果というフィールドを参照した新しいフィールドでテーブルの結果とは別物であるということです。そのためにテーブル名は表示しません。
補足
piroin654さん、いつもお世話になっております。 以前もご教示いただきまして、誠にありがとうございます。 やっぱりリンク元のエクセルで空白となっている場合は、リンクしたテーブルで回避できず、どうしても#Num!と表示になってしまうわけですね。 これを回避するためにはエクセルで空白となっているところをリンクせずに、ACCESSのクエリデザインで再設定するわけですね。 ご教示いただいた内容で早速行ってみたいと思います。
お礼
piroin654さん、何度もお答えいただきありがとうございます。 おかげさまで、うまくいきました。 あと、Accessのリンクテーブルは参照オンリーだということも分かりましたので、これだけでも勉強になりました。 今後とも、よろしくお願いいたします。