• 締切済み

ファイルメーカープロ V6 漢数字→数字変換

たとえば、 昭和十八年三月十一日 の様に入力がされている、文字列フィールド(計算フィールド)がある場合、これから、計算で、日付フィールドにしたり、 十八 の様に入力がされている、文字列フィールド(計算フィールド)がある場合、これから、計算で、数字フィールドに変換する 簡単な方法は無いでしょうか? 力ずくで、計算を行わせるしかないでしょうか?

みんなの回答

  • aqula
  • ベストアンサー率60% (70/115)
回答No.5

再び訂正。ANo.3の式 > 計算フィールド「漢数字変換」(数字) = > (Left(A,1) + (Position(漢数字, "十", 1, 1) = 1))*10 + Right(A,1) を修正です。いろんなパターンがあって難しい・・・ 計算フィールド「漢数字変換」(数字) = (Left(A,(Length(漢数字 > 1))) + (Position(漢数字, "十", 1, 1) = 1))*10 + Right(A,1)

himajin1
質問者

お礼

皆様、ありがとうございました。 結局、力技で行いました。 完成したつもりのフィールド定義で、生まれた計算フィールドを、 日付、漢数字2 で書き出し、 オリジナルと、比較すると、平成元年 などが、間違っていました。 まったく、やっかいです。 目的は終了しましたが、もう少し、スマートな方法が得られないか、 質問を閉じるのは、もう少し後にしますl。

全文を見る
すると、全ての回答が全文表示されます。
  • aqula
  • ベストアンサー率60% (70/115)
回答No.4

>しかし、カスタム関数はDeveloper7かAdvanced8以降が必要になります。 ここだけ訂正。 カスタム関数は通常バージョンでも使えます。 ただし、URLにある関数は Let関数の使えるバージョン以降しか使えません。

全文を見る
すると、全ての回答が全文表示されます。
  • aqula
  • ベストアンサー率60% (70/115)
回答No.3

カスタム関数でしたら、下記URLにあります。 http://www.fmpro.jp/ しかし、カスタム関数はDeveloper7かAdvanced8以降が必要になります。 そこで、上記カスタム関数を参考に九十九までを数字に変換できるようにしてみました。 力ずくには変わりありませんが・・・ (MacOS10.3.9 + FM6v3で検証) ※フィールド「漢数字」を数字に変換 まず、一から九までを数字に変換する計算フィールドを作ります。 計算フィールド「A」(テキスト) = Substitute(Substitute(Substitute(Substitute(Substitute( Substitute(Substitute(Substitute(Substitute( 漢数字, "九", "9"), "八", "8"), "七", "7"), "六", "6") , "五", "5"), "四", "4"), "三", "3"), "二", "2"), "一", "1") 計算フィールド「漢数字変換」(数字) = (Left(A,1) + (Position(漢数字, "十", 1, 1) = 1))*10 + Right(A,1)

全文を見る
すると、全ての回答が全文表示されます。
  • chieffish
  • ベストアンサー率44% (1149/2554)
回答No.2

年と月と日の漢数字だけ取り出して、別ファイルの漢字と数字の対照表からルックアップするとか・・ これも力業ですね?そんなプラグインとか無いのですかね?

全文を見る
すると、全ての回答が全文表示されます。
  • chieffish
  • ベストアンサー率44% (1149/2554)
回答No.1

Substituteで一を1にしたものを次は二を2にして・・・でしょうか? 十までだとコピーで式は簡単にできそうですが、式が長すぎるかも。

himajin1
質問者

補足

要は、「一」~「六十四」 まで、すべて並べ立てる という 力業ですね? それしか無さそうですね。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excel で数字が日付に変更されてしまう

    Excel 2003を使っている初心者です。 日付と数字を入力するということをやっていますが、ある列に日付を入力し、その後入力したとき自動的にただの数字が一列おきに日付に変わってしまいます。  具体的には、D列に日付を入力(6/13のように)しF列にもうひとつ日付入力、その後はG,H,I,J...列に数字を入力したいのですが、なぜかH,J列には55のようにただの数字をいれても2月24日などと勝手に変換されてしまいます。 6月13日 6月27日 130 55 135 55のように入力したいのに 6月13日 6月27日 130 2月24日 135 2月24日となってしまいます。 特に日付に関する設定をした記憶がないのですが、どのようにすると日付に変換されないようにできますでしょうか? (分かりにくい説明で申し訳ありません)

  • 文字列から数字への変換

    文字列から数字への変換にはatoiなどを使うと思うのですが これだと文字として0を変換すると アルファベットなどを変換した場合と 同じになってしまいますよね? 0も入力を受け付けてなおかつ文字列は受け付けないように するにはどのようにすればよいのでしょうか? アドバイス・回答よろしくお願いします

  • FileMaker6で文字列を数字に変更したいのですが

     FileMaker6で文字列を数字列に変更したいと考えています。 具体的には、文字列のフィールドに「たなか」と入力されているとします。これを、 あ行は1、か行は2、さ行は3・・・・ の原則にのっとり、計算フィールドの数字列に自動的に入力したいのです。「たなか」を数字に変更すると、「452」となります。 どのような関数式が、数字列の計算フィールドには必要でしょうか。

  • エクセル上の8桁の数字を一括して日付に変換する方法を教えて下さい。

    エクセル上の8桁の数字を一括して日付に変換する方法を教えて下さい。 ダウンロードしたエクセルデータのA列に日付として8桁の数字が入っているのですが、文字列として認識してるようで日付に変換出来ません。 例えば2010年1月1日の欄には20100101と入っていて、2001/01/01と変換したいのですがどうすればいいでしょうか。 セルの書式設定→表示形式→ユーザー定義で試してみましたが上手くいきませんでした。 データの量が何千行もあって膨大なので、1行ずつスラッシュを入れていくという作業は出来ません。 8桁の数字を一括して日付に変換出来る方法はあるのでしょうか。 教えて下さい。 宜しくお願い致します。

  • ファイルメーカー 実在の日付チェック

    西暦年、月、日の3つの入力用フィールド(数字)と日付フィールド「F」があります。 入力されたフィールドから、「F」はDate ( 月 ; 日 ; 西暦年 )で変換されます。 例えば 2007,02,28と入力した時はいいのですが、2007,02,30とかを入力しても正しく(?)3月2日と変換してくれます。 これを正しく(?)変換せずに、エラーを発生させるとか、その日が実際に存在するかどうかチェックする方法は、どうしたらよろしいでしょうか?

  • エクセルでシリアル値に変換

    エクセル2003を使っています。 B列に200708(2007年8月という意味です)や200911等の日付が入っています。 これではただの数字であって日付データではありません。 最終的には200708等の数字を日付データに変換して、シリアル値にしたいと思っています。 シリアル値に変換の仕方を教えて頂けないでしょうか? 私がとりあえずやった方法は、C列にRight関数とLeft関数を使って、 2007/08という具合に年と月の間に/をいれました。 これをコピー値貼り付けして、関数から値に変換すると2007/08ではなく、'2007/08と なっており、どうしても数字ではなく、文字列になってしまいシリアル値にできません。 'を空白に置換えしようとしても、置き換えができません。 手法は関数やVBAでも構いませんので、教えて頂けないでしょうか? よろしくお願いします。

  • Excel2000の日付変換について

    最近EXCELバージョンを2000にパワーアップしたんですが、 今迄の計算式と違う風になってしまいました。 日付の処理なんですが、今迄「昭和38年7月11日」と入力したい時 38/7/11って打ちこむとS38.7.11って出てたんですが、 2000にバージョンアップしてから同じように入力すると S13.7.11となってしまいます。 つまり38は西暦に直されてしまって、1938年(昭和13年)になってしまいます。 書式の日付の設定を和暦に直してもこのように変換されるので 今は西暦で打ちこみ(自動で和暦になる)していますが、 とてもややこしいし、はっきり言って西暦なんてわかりませんので どうしても和暦入力和暦変換にしてほしいのです。 以前のバージョンと同じ用に入力する方法(設定?)はないでしょうか...

  • excelの日付の処理について教えてください。(初心者です)

    文字列で定義された日付(*)を’2001/8/1’(シリアル値?)と表示させるには どういう関数でどういう計算をしたら効率よく変換できるでしょうか? *: 文字列で’H130801’ 1桁目(平成=H,昭和=S)+年+月+日

  • 数値の半角から全角変換

    エクセルで一度半角数字で入力してしまったもの、表などを計算結果で はなく文字列入力の中の(一文字として)、を全角変換する方法はある のでしょうか? もちろん変えずに半角のままにしておきたいものもあります。 ex)わたしは今日5月27日に・・・→わたしは今日5月27日に・・・ ややこしい質問で申し訳ありません、よろしくお願いします。

  • 差込印刷 縦書きで和暦(漢数字)表示にしたい

    エクセルに入力されている西暦をワードに差し込みたいのですが、 西暦を和暦(漢数字)表示にして、なおかつ縦書きにしたいのですが うまくいきません。 エクセルの日付が2014/8/6の場合 (1)ワードで文字の方向を縦書きに指定 (2)フィールドコートを { MERGEFIELD 日付 \@”ggge年M月d日”\v} とすると 八 \ 六 \ 二 0 一 四 と表示されてしまいます。 どのようにしたら 二 0 一 四 年 八 月 六 日 と表示できるでしょうか? よろしくお願いします。