• 締切済み

文字列関数について

Access 2003等のカードフォームで入力した「生年月日」→S63-08-10を一覧表等で表示する時に「昭和63年08月10日」のように表示させるための文字関数はどのようにすればよいのでしょうか? Sを昭和に表す方法は「@xchg(生年月日,"S","昭和")」はこれで良いと思うのですこの後の記載がわかりません。 詳しい方、これを表示できる文字関数を教えて下さい。よろしくお願いします。

みんなの回答

  • 5qoo
  • ベストアンサー率48% (20/41)
回答No.1

データベースのAccessですよね? 普通 データ型を日付型にさえしておけば、表示書式を設定するだけで変更できますので関数は利用しません。 例) 1988/8/10 (表示書式:yyyy/m/d) → 昭和63年8月10日 (表示書式:gggee\年m\月d\日) もし、生年月日のデータ型をテキスト型で保存している場合、日付型に変更すべきです。ただ、「S63-08-10」として入力している場合、今のままで日付型に変更できるかは不明ですので、バックアップを取って元号を西暦になおし"-"を"/"に置き換えてから試してみて下さい。

関連するQ&A

  • INDIRECT、MATCH関数等の組み合わせ方

    入力フォームとして作成したシート(あああ)のデータを、シート(一覧表)に、計算式で自動的に並べる方法(参照する方法)を教えてください。(画像を添付しました。) 入力フォームは、実際は150枚ぐらいになります。一覧表も実際は数枚あります。 画像の「あああ」が入力フォーム、「一覧表」が一覧表です。 あああ、AAA、111、アアアなどは、すべて項目名です。 DATA1からDATA32、DATA100-103が、実際にデータが入る部分です。 例えばですが、入力フォーム(あああ)のセルC6に入力したDATA1が、一覧表のセルC3に入るように、C3に計算式を入れたいです。 1.シート名を計算式にいれるには、INDIRECT関数が使えるかと思います。 2.複数の条件(A列、B列、1行、2行)でセルを特定する関数がわかりません。 3.1.と2.を組み合わせると、同様な関数になるのか、わかりません。 DATAについては、ゼロはゼロ、無記入は無記入のまま一覧表に表示したいです。 よろしくお願いします。

  • Accessの関数について

    Accessのフォーム作成から氏名、生年月日、年齢といったかんじでデータを作成し、生年月日を入力したら年齢も自動的に表示されるようにしたいのですが、関数の定義がわからないので教えてもらえないでしょうか。 フォームのデザインビューからプロパティ→年齢のテキストボックスを指定し、テキストボックス年齢のプロパティが開かれます。コントロールソースの項目からビルドボタンをクリックすると、式ビルダが開かれます。生年月日の表示方式は 生年月日 1999/09/09 といった表示方法をとっています。Excelだと、datedif関数で、 datedif("生年月日","2002/10/1","y")で年齢を算出できたので、もしかしたらAccessでも定義できるんではないかと思いまして質問いたしました。

  • Access97での日付表示について

     今、Excelで作っていた名簿をAccess97を使って管理ができるようにしています。 Excelでは"3061222”とデータが”昭和6年12月22日”とMID関数を使って表示されるようになっていました。  Accessのフォームやレポートでも同じ様なことは出来ないでしょうか?いったん生年月日だけ入力し直すとか考えたんですがデータの量が半端でないので何とかしたいのです。  すみませんが分かる方ご教授お願いします。

  • 文字列を用いてExcel関数を呼び出したい

    C#にてExcel用のアドインを作成しています。 そのアドインは、独自の関数の挿入画面を表示し、こちらが用意したVBAの関数を呼び出してデータベースにアクセスする動きです。 この独自の関数の挿入画面上で引数にSUM()などのExcel関数を入力された場合、Excel標準の関数の挿入画面と同じように、 入力された関数の計算結果を右側に表示するような作りにしたいのです。 当初は独自の関数の挿入画面で引数に「SUM(B1:B10)+AVERAGE(C1:C5)」と入力されれば、その文字列を解析してどの関数が呼ばれているか抽出し、 Application.WorksheetFunction内のメソッドを呼び出そうかと考えたのですが、 作業量が多い上に自分の技術力が無いのでバグが発生する可能性が高く信頼に値しないということで、断念しました。 受け取った文字列をそのまま用いてWorksheetFunctionのメソッドを呼び出し、結果を受け取るということは可能でしょうか?

  • 表のばらばらの文字列を1列にまとめたい 関数

    添付の左の表を右の表にしたいです。 (1)左の表には数式が入っていて、この他にもう一つある表のデータに該当すると1列ごとにSMとかNPとか表示されるようになっています。 (2)この左の表は実際には136列あるので、結果を印刷すると一枚に収まりきらないのです。なので、右の表のように、1列に表示したいのです。 (3)1行のうち、2個以上文字列が入ることもありますが、その可能性は低いので、とりあえず1行に1個ずつ出現すると考えてもらっていいです。(2個以上文字列が出現する場合も分かれば教えてください。) (4)関数でできませんか? またはマクロでもいいです。

  • エクセル 関数のあわせ技 

    お世話になります。 最終目的は年齢表示です。 生年月日の元データは他システムからCSVカンマ形式で出力されたものをエクセルで表示しているため、問題箇所があります。 ・年月日のいずれかが一桁の場合、「空白」+「半角数字」+「年月日」となっています。   例えば、昭和20年5月1日   の場合は         昭和20年 5月 1日 となっています。(数字は半角です) ・元データのほとんどはテキスト形式なのですが、一部日付データ形式があります。   セル表示は「元号+年月日形式」ですが、数式バーは西暦表示です   例えば、昭和24年12月11日 とセル上は表示されますが、         1949/12/11   と数式バーでは表示されます。 まず、生年月日データに混じっている空白を消すため、SUBSTITUTE関数を使って別の列に書き出しました。 =IF($J3="","空白行",SUBSTITUTE(AM3," ","")) これで、昭和20年 5月 1日は昭和20年5月1日になりました。 その後、DATEDIF関数で年齢を表示させました。 =IF(ISERROR(DATEDIF(AJ3,today(),"Y"))=TRUE,"",DATEDIF(AJ3,today(),"Y")) ただし、日付データの 1949/12/11 のセルは、18243 になってしまいました。 これでも年齢計算はできるのですが、生年月日確認用に使いますし、後で印刷時に利用するデータですので、「テキスト形式」として、昭和24年12月11日 と表示させたいのです。 上記の関数式に別の関数を組み合わせればいいのだろうと思いましたが、うまくいきません。 どうか、よろしくご教示ください。  

  • ファイルから読込んだ文字列から\を消したい

    perlの質問です。 フォームからデータをタブ区切りテキストファイルに保存する際、例えば「表示」ならエスケープシーケンスして「表\示」という保存がされます。 これについては問題ないと思うのですが、そのファイルから読込んで、テキストボックスに表示した際にも「表\示」と\付きで表示されてしまいます。 これを消すにはどのようにすればよいのでしょうか。 ちなみに読込んだ後で$data=~ s/\\//g;としたら、\は消えましたが今度は文字化けをおこします。あっちが解消されればこっちに問題発生という感じです。

    • ベストアンサー
    • Perl
  • 関数を使って日付を文字列にするには?

    A1セルに「2013/12/17」と入力して 書式設定を「yyyy"年"m"月"d"日";@」にしました。 なので、「2013年12月17日」と表示されています。 B1に文字列として「2013年12月17日」を表示させたいのですが、 =TEXT(A1,"@") とすると、41625になってしまいます。 セルに直接入れるなら、「'2013年12月17日」と同じようにしたいのですが それは関数では不可能でしょうか? ="'"&A1 としても、「'41625」になってしまいます。

  • Excel関数を使って表を検索するには

    宜しくお願い致します。 やりたい事 Excelで年代ごとに縦軸は月、横軸は日で出来た表があります。 生年月日を入力すると、年代ごとの表から月と日の一覧からデータを 拾い出したいのです。 年代ごとにと言うところからよくわかりません。その他はOffcet関数などを使うと出来そうでしょうか? どうぞご教授下さい。 宜しくお願い致します。

  • Excelの表作成の関数について

    今、Excelでクラスのプロフィール一覧表を作っています。 名前・生年月日・星座・血液型・出身地を入力しているのですが、 100人以上のプロフィールを入力しなければいけないので すごく時間がかかってしまいます。 そこで、生年月日を入力すれば星座を自動的に振り分けてくれる 関数があれば、教えてください。

専門家に質問してみよう