平均年齢の計算について

いつも大変お世話になっております。

以下のサンプルコードで年齢を:o::o:け月と表示してますが、
全社の個別な年齢をこのように文字列で集計した後に
平均年齢を表示したいですが、標準機能では、


数値の平均は表にて簡単に自動計算できますが、文字列はできなくて、
コードをどうすれば平均を計算できるようになりますでしょうか?
ご指導いただきますと幸いです。
どうぞよろしくお願い致します。

(function() {
“use strict”;

//■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
kintone.events.on([‘app.record.edit.change.生年月日’,
‘app.record.create.change.生年月日’,
‘app.record.index.edit.change.生年月日’,
‘app.record.edit.change.基準日’,
‘app.record.create.change.基準日’,
‘app.record.index.edit.change.基準日’,
‘app.record.create.show’,
‘app.record.edit.show’,
‘app.record.index.edit.show’
], function(event) {
var record = event.record;

moment.locale(‘ja’);
if ([‘app.record.create.show’, ‘app.record.edit.show’, ‘app.record.index.edit.show’].indexOf(event.type) >= 0) {
// フィールド制御
record[‘年齢’][‘disabled’] = true;
record[‘基準日’].value = moment().format(‘YYYY-MM-DD’);
}

record[‘年齢’].value = ageCal(record[‘生年月日’].value, record[‘基準日’].value);
return event;
});

// 年齢計算
function ageCal(wkDate, wkReferenceDate) {
if (wkDate && wkReferenceDate) {
var mDate = moment(wkDate);
var mReferenceDate = moment(wkReferenceDate);
if (!mReferenceDate.isBefore(moment(mDate), ‘day’)) {
var years = mReferenceDate.diff(moment(mDate), ‘years’);
var months = mReferenceDate.diff(moment(mDate), ‘months’) % 12;
return years + "年 " + months + “ヶ月”;
}
}
return ‘’;
}
})();

てんそ様
この度は御丁寧に教えていただき、誠にありがとうございました。
感謝致します。
今後ともどうぞよろしくお願い致します。

てんそ様
この度は御丁寧に教えていただき、誠にありがとうございました。
感謝致します。
頂いたコードで動き、とても感動いたしました。
なぜかお誕生日が1970年前(例:1968年)ですと計算がされなくなりますが、どっかで制限かけているでしょうか。

基準日を集計担当者が自由に入力するようにしたいですが、その場合
record[‘基準日’].value = DateTime.local().toISODate(); // 基準日に今日の日付を設定
→ここを無効にするで大丈夫でしょうか。
その他、平均年齢を表示してもらっているように、「基準日」の枠も設定し、統計する担当が入力しボタンをクリックしたら、一括で登録済みのデータに「基準日」が反映されることを実現するにはハードルが高すぎて・・・
大変恐れ入りますが、てんそさんはkintoneの個別相談などの御対応など行ったりしますか?
これからも色々必要に応じて、ご相談させて頂けたら幸いですが、ご検討いただくことは可能でしょうか。
どうぞよろしくお願い致します。

てんそ様 :star_struck:
なんと再度ご丁寧に教えていただき、誠にありがとうございます!
凄すぎて、びっくり致しました。


平均年齢の計算があってないみたいですが、計算式を確認いたします。

自動で基準日を一括で入力する、本当に感動して泣きそうです。
こんな高レベルのサポートをいただき、誠にありがとうございました。
今後ともどうぞよろしくお願い致します。

てんそ様 :star_struck:

お世話になっております。
大変失礼致しました。
あってました。大変申し訳ございません。
電卓も共有いただき、誠にありがとうございます :star2:

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。