# テーブル内の計算フィールドを別の数値フィールドへ転記したいです

**URL:** <https://community.cybozu.dev/t/topic/3441>\
**Category:** kintone 開発相談\
**Created:** [2018 年 10 月 15 日午前 8:26 UTC](https://community.cybozu.dev/t/topic/3441 "2018-10-15T08:26:38Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Legacy\_Account660](https://avatars.discourse-cdn.com/v4/letter/l/f14d63/32.png) [@Legacy\_Account660](https://community.cybozu.dev/u/Legacy_Account660)\
**Post date:** [2018 年 10 月 15 日午前 8:26 UTC](https://community.cybozu.dev/t/topic/3441/1 "2018-10-15T08:26:38Z")

</div>

お世話になっております。

下図のように、テーブル内の計算フィールドの値をテーブル外の数値フィールドに転記したいと思っています。  
テーブルの行は4行以上にはならない運用です。

[テーブルの数値フィールドの数値を他の数値フィールドにコピー（転記）できますか？](https://community.cybozu.dev/hc/ja/community/posts/204817333-%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB%E3%81%AE%E6%95%B0%E5%80%A4%E3%83%95%E3%82%A3%E3%83%BC%E3%83%AB%E3%83%89%E3%81%AE%E6%95%B0%E5%80%A4%E3%82%92%E4%BB%96%E3%81%AE%E6%95%B0%E5%80%A4%E3%83%95%E3%82%A3%E3%83%BC%E3%83%AB%E3%83%89%E3%81%AB%E3%82%B3%E3%83%94%E3%83%BC-%E8%BB%A2%E8%A8%98-%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%81%8B-)の記事を参考にして試行錯誤しましたが、転記元が計算フィールドのためかうまくいきませんでした。

計算フィールドの値を他の数値フィールドに転記することは可能なのでしょうか？  
また、可能であれば、例となるようなコードをご教示いただけないでしょうか？

よろしくお願いいたします。

&nbsp;

---

<div class="post-metadata">

**Author:** ![Legacy\_Account760](https://avatars.discourse-cdn.com/v4/letter/l/f07891/32.png) [@Legacy\_Account760](https://community.cybozu.dev/u/Legacy_Account760)\
**Post date:** [2018 年 10 月 16 日午前 7:47 UTC](https://community.cybozu.dev/t/topic/3441/2 "2018-10-16T07:47:02Z")

</div>

kirimin さん

こんにちは！

&nbsp;

計算フィールドでは、changeイベントは対応していないみたいなので、

各数値フィールドの changeイベントで値を拾って、JavaScript内で計算を行った上で

別のフィールドに計算結果を渡すというのはいかがでしょうか。

&nbsp;

テーブル化されている数値A、数値B に値が入力されている場合、

1行目の計算結果を移管先A、2行目の計算結果を移管先B…といった処理を書いてみました！

参考になれば嬉しいです。

&nbsp;

```
(function () {
   
"use strict";

    var events = [
        'app.record.create.change.数値A',
        'app.record.create.change.数値B',
        'app.record.edit.change.数値A',
        'app.record.edit.change.数値B'
        ];

    kintone.events.on(events, function (event) {
 
     var rec = event.record;
    
        for(var i = 0; i < rec.Table.value.length; i++){
           
            if(rec.Table.value[i].value.数値A.value && rec.Table.value[i].value.数値B.value){
               
                switch(i) {
                   
                    case 0 :
                        rec.移管先A.value = Number(rec.Table.value[i].value.数値A.value) + Number(rec.Table.value[i].value.数値B.value);
                        break;
                   
                    case 1 :
                        rec.移管先B.value = Number(rec.Table.value[i].value.数値A.value) + Number(rec.Table.value[i].value.数値B.value);
                        break;
                       
                    case 2 :
                        rec.移管先C.value = Number(rec.Table.value[i].value.数値A.value) + Number(rec.Table.value[i].value.数値B.value);
                        break;
                }
            }
        }
       
  return event;
  
 });
 
})();

```

&nbsp;

---

<div class="post-metadata">

**Author:** ![Legacy\_Account660](https://avatars.discourse-cdn.com/v4/letter/l/f14d63/32.png) [@Legacy\_Account660](https://community.cybozu.dev/u/Legacy_Account660)\
**Post date:** [2018 年 10 月 17 日午前 1:47 UTC](https://community.cybozu.dev/t/topic/3441/3 "2018-10-17T01:47:02Z")

</div>

文系男さま

ご教示ありがとうございます！  
計算フィールドはchangeイベントに対応していないのですね、知りませんでした。  
コードの例示もありがとうございます、計算式の書き方などとても勉強になります。

いただいたコードをもとに、ぶじ希望通りの動作をさせることができました！  
重ねてお礼申し上げます。

---

<div class="post-metadata">

**Author:** ![Legacy\_Account760](https://avatars.discourse-cdn.com/v4/letter/l/f07891/32.png) [@Legacy\_Account760](https://community.cybozu.dev/u/Legacy_Account760)\
**Post date:** [2018 年 10 月 17 日午前 6:16 UTC](https://community.cybozu.dev/t/topic/3441/4 "2018-10-17T06:16:54Z")

</div>

kirimin さん

&nbsp;

無事、希望通りの動作をさせることができたとのこと、承知しました！

お役にたてたようで良かったです＾＾
