From: satomichan Date: Thu, 27 May 2021 03:31:15 +0000 (+0900) Subject: ★「PFCバランス」の算出方法を変更 X-Git-Tag: JAR_2021-05-27_1216_BUILD X-Git-Url: https://satomichan.jp/gitweb/?p=nucalgen;a=commitdiff_plain;h=refs%2Fheads%2F2020ver_8tei ★「PFCバランス」の算出方法を変更     1. たんぱく質エネルギー比率(%)         =たんぱく質量(g)×4(kcal)÷エネルギー量(kcal)× 100     2. 脂質エネルギー比率(%)         =脂質量(g)×9(kcal)÷エネルギー量(kcal)× 100     3. 炭水化物エネルギー比率(%)         =100(%)- (たんぱく質エネルギー比率(%)+脂質エネルギー比率(%)) https://eiyo21.com/blog/fd_vol17/ の 「成分表2015年版(七訂)の計算方法のエネルギーを使った場合のエネルギー産生栄養素バランス」の計算方法による。 ★「PFCバランス」の各値を整数に丸める(小数点以下で四捨五入)ように変更した。 --- diff --git a/src/main/java/jp/satomichan/nucalgen/Nucalgen.java b/src/main/java/jp/satomichan/nucalgen/Nucalgen.java index 9eb18fc..3c9dbcc 100644 --- a/src/main/java/jp/satomichan/nucalgen/Nucalgen.java +++ b/src/main/java/jp/satomichan/nucalgen/Nucalgen.java @@ -207,20 +207,22 @@ public class Nucalgen { pfbBalanceRow1.createCell(4).setCellValue("F"); pfbBalanceRow1.createCell(5).setCellValue("C"); - final String sumPfc = "(" + _namedAreaMap.get("SUM_P") + "*4+" + _namedAreaMap.get("SUM_F") + "*9+" + _namedAreaMap.get("SUM_C") + "*4)"; + final String sumKiloCalorieCell = _namedAreaMap.get("SUM_KCAL"); rowIndex++; Row pfbBalanceRow2 = calcSheet.createRow(rowIndex); Cell pCell = pfbBalanceRow2.createCell(3); pCell.setCellStyle(csPool.getCellStyle("0")); - pCell.setCellFormula(_namedAreaMap.get("SUM_P") + "*4*100/" + sumPfc); + pCell.setCellFormula("ROUND(" + _namedAreaMap.get("SUM_P") + "*4*100/" + sumKiloCalorieCell + ",0)"); Cell fCell = pfbBalanceRow2.createCell(4); fCell.setCellStyle(csPool.getCellStyle("0")); - fCell.setCellFormula(_namedAreaMap.get("SUM_F") + "*9*100/" + sumPfc); + fCell.setCellFormula("ROUND(" + _namedAreaMap.get("SUM_F") + "*9*100/" + sumKiloCalorieCell + ",0)"); + Cell cCell = pfbBalanceRow2.createCell(5); cCell.setCellStyle(csPool.getCellStyle("0")); - cCell.setCellFormula(_namedAreaMap.get("SUM_C") + "*4*100/" + sumPfc); + cCell.setCellFormula("100 - (" + new CellReference(cCell.getRowIndex(), 3).formatAsString() + " + " + + new CellReference(cCell.getRowIndex(), 4).formatAsString() + ")"); return rowIndex; }