Scrapboxで行の総和を計算するUserScript
https://gyazo.com/f16ab534366568ce1046c2e423ae8dae
概要
範囲を選択すると,その範囲に含まれる先頭に_のついた数の総和を求め,ポップアップメニューに表示する.
できること
負数,小数,カンマ区切り数を処理できる
できないこと
ポップアップメニューに表示するため,テーブルの特定行だけ選択して総和を表示することはできない.
計算例
table:家計簿
日付 費目ID 収支
2021-09-15 1 _1000
2021-09-15 3 _2000
2021-09-15 2 _3000
2021-09-15 2 _-1000
_1000
_2000
Script
code:script.js
scrapbox.PopupMenu.addButton({
title: text =>{
if(!text||text.indexOf("\n")==-1) {return}
if(!found) {return}
const nums = found.map(x => Number(x.replaceAll("_","").replaceAll(",","")));
const sum = Math.round(nums.reduce((p,c)=>{return p+c})*10000)/10000;
return nums.join("+") + " = "+ sum;
},
onClick: () => null
})
参考文献