- ベストアンサー
ACCESSの数字の操作
宜しくお願いします。 ACCESSにて実年齢を表示している列があります。 その実年齢を17歳だったら"10代"とし、49歳だったら"40代"などとしたいです。区切りたい年齢はその時々で違うので、四捨五入ではなく任意で指定したいです。 excelでは、IIF関数で<=などを使用するイメージなのですが。。 宜しくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
区切りたい年齢幅を入力するテキストボックスを用意します。 =Int([実年齢]/[年齢幅])*[年齢幅] 年齢幅が10なら =Int(17/10)*10=10 =Int(49/10)*10=40 年齢幅が5なら =Int(17/5)*5=15 =Int(49/5)*5=45 になります。
その他の回答 (3)
=(DateDiff("m",[誕生日],Date())+(Day(Date())<Day([誕生日])))\12 & "歳" & (DateDiff("m",[誕生日],Date())+(Day(Date())<Day([誕生日]))) Mod 12 & "ヶ月" これは、現在年齢を表示するAccessの式です。「誕生日」というフィールドに記入された生年月日から○歳●ヶ月と出します。 この式を参考に、ご自分で変更してください。
- mshr1962
- ベストアンサー率39% (7417/18945)
#1のmshr1962です。 #2の方のやり方ならIIfでネストするよりSwitch関数を使う方が簡単です。 =Switch([実年齢]<=9,"10歳未満",[実年齢]<=19,"10代",[実年齢]<=29,"20代",True,"30代以上")
- snoopy64
- ベストアンサー率42% (337/793)
選択クエリの例 実年齢フィールドのあるテーブルを追加し、一番右に列を追加、フィールド欄に 年代: IIf([実年齢]<=9,"10歳未満",IIf([実年齢]<=19,"10代",IIf([実年齢]<=29,"20代","30代以上"))) として、クエリーを実行すると年代が表示されます。 頑張ってくださいヽ(^。^)ノ