• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:アクセス iff関数、format関数について)

アクセス関数で数字列を5桁にする方法

このQ&Aのポイント
  • アクセスのフィールドに関数を埋め込む際、数字列を5桁にする方法についての質問です。
  • 現在の関数に誤りがあるため、うまく実行できていない状況です。
  • 質問者はIIFとformat関数を使用して数字列を処理しようとしていますが、どこに問題があるかわかっていません。正しい方法を教えてほしいとのことです。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

例データI D フィールド1 式1 1 0 00000 2 -3 -00003 3 1 00001 4 156 00156 5 -1000 -01000 6 15000 15000 式1は 式1: Format$([フィールド1],"00000;-00000;00000") マイナスだけが有効数字4桁だが其れで良いのなら 式1: Format$([フィールド1],"00000;-0000;00000") で質問のようになる。 3書式のFormat関数を使う。 順序はエクセルと同じく、正;負;0のときの順

mame1218
質問者

お礼

いつもありがとうございます。 完璧な回答でした。 前提条件(正数は5桁、負数は4桁)も把握でき大変役に立ちました。

その他の回答 (2)

  • IDii24
  • ベストアンサー率24% (1597/6506)
回答No.2

結果に前ゼロを入れたいと云う事は、結果は数値ではなく文字でよい?と云う事になりますが良いでしょうか? その場合は数値を文字に替えてから整えます。 iif([数字列]<0,"-"& right("00000" & cstr([数字列]),5) ,right("00000" & cstr([数字列]),5)) でもゼロだった場合 00000 になってしまうので、もしこれを 0 にしたければ、 iif([数字列]=0,"0",(iif([数字列]<0,"-"& right("00000" & cstr([数字列]),5) ,right("00000" & cstr([数字列]),5)))) て長くなってしまうしパフォーマンスも悪い。VBAでモジュール処理した方が良いとは思います。

mame1218
質問者

お礼

ご丁寧にありがとうございました。 参考にさせていただきました。

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.1

formatの場所が違ってますね。思いこんでしまうと、間違いに気づきにくいモノです。ご参考まで。 式1: IIf([num]<0,Format([num],"0000"),Format([num],"00000"))

mame1218
質問者

お礼

ありがとうございました。 助かりました。

関連するQ&A