初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2020-09-28 23:22:50

wabi
Guest

1つのフィールド内に含まれている複数の数値を計算する

環境
    - Win10、FM10

エクセルデータをファイルメーカーにインポートして、内容のチェックを行おうとしています。
エクセルデータの中に1つのセル内に複数の数字が入っている個所があり、その合計値をファイルメーカー上で求める必要があります。
1つのフィールドから複数のフィールドに分割して計算しようと考えましたが、もう少し効率の良いやり方があればご教示ください。

<セル内のデータ例>
1つのセル内に、下記のように項目と金額の間に”/ ”項目の区切りに”|”を入れて入力されています。
セル内改行はされていません。

設備費/200,000円|修繕費/100,000円|管理費/100,000円|繰り越し金/ 100,000円

<自分なりに考えた解決方法>
当初、「1つのセル内に含まれる項目は多くても10個以内」と聞いていたため、
一旦Substitute関数で|を改行に差し替えた後にMiddle関数、GetValue関数、Position関数を組み合わせて
各10個の「項目」フィールドと「金額」フィールドに切り分けた後に金額のフィールドの計を求めるつもりでした。

<問題点>
しかし、後から「10個以上入っているデータもあるかもしれない」という話が出てきてしまいました。
地道に計算フィールドを増やせばよいのかもしれませんがどこまで増やせばよいのかも見当つかず、
もう少しスマートに繰り返しフィールドなどを使って計算できないかと考えています。

似た事例が無いか探してみたのですが、うまく見つけられませんでした。
どうぞよろしくお願いします。

#2 2020-09-28 23:33:00

Moz
Member

Re: 1つのフィールド内に含まれている複数の数値を計算する

項目がn〜無限に増えていく場合はフィールドではなく別のテーブル(明細)に分けると良いでしょう。

Offline

#3 2020-09-29 00:05:48

Shin
Member

Re: 1つのフィールド内に含まれている複数の数値を計算する

Evaluate (
Substitute (
  Filter ( text ; “0123456789|” ) ;
  “|” ; “+”
)
)
でどうでしょう。

Last edited by Shin (2020-09-29 08:48:49)

Offline

#4 2020-09-29 09:55:32

wabi
Guest

Re: 1つのフィールド内に含まれている複数の数値を計算する

Mozさん、Shinさんありがとうございました。
Shinさんの関数で無事にテストデータが動きました。

Registered users online in this topic: 0, guests: 1
[Bot] claudebot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.004 seconds, 7 queries executed - Memory usage: 506.77 KiB (Peak: 517.86 KiB) ]