如何使用 "Average" 公式限制 Excel 单元格中的小数位数?

How can I restrict the decimal count in an Excel cell with an "Average" formula?

我正在使用 C# Excel Interop 创建 spreadsheets。我在 sheet 底部的 "totals" 部分使用公式。这是我为此使用的代码:

var totalTotalOrdersCell = (Range)_xlSheetDelPerf.Cells[curDelPerfRow + 2, TOTAL_ORDERS_COLUMN];
totalTotalOrdersCell.Formula = string.Format("=SUM(J10:J{0})", curDelPerfRow);

var avgAvgWeeklyDeliveriesCell = (Range)_xlSheetDelPerf.Cells[curDelPerfRow + 2, AVG_WEEKLY_DELIVERIES_COLUMN];
avgAvgWeeklyDeliveriesCell.Formula = string.Format("=AVERAGE(K10:K{0})", curDelPerfRow);

var avgAvgOrderAmountCell = (Range)_xlSheetDelPerf.Cells[curDelPerfRow + 2, AVG_ORDER_AMOUNT_COLUMN];
avgAvgOrderAmountCell.Formula = string.Format("=AVERAGE(L10:L{0})", curDelPerfRow);

var avgAvgPackageCountCell = (Range)_xlSheetDelPerf.Cells[curDelPerfRow + 2, AVG_PACKAGE_AMOUNT_COLUMN];
avgAvgPackageCountCell.Formula = string.Format("=AVERAGE(M10:M{0})", curDelPerfRow);

var totalTotalSalesCell = (Range)_xlSheetDelPerf.Cells[curDelPerfRow + 2, TOTAL_SALES_COLUMN];
totalTotalSalesCell.Formula = string.Format("=SUM(N10:N{0})", curDelPerfRow);

var totalTotalPackageCountCell = (Range)_xlSheetDelPerf.Cells[curDelPerfRow + 2, TOTAL_PACKAGE_COUNT_COLUMN];
totalTotalPackageCountCell.Formula = string.Format("=SUM(O10:O{0})", curDelPerfRow);

这是正在制作的内容:

monetary/currency vals 格式正确,没有我的任何干预 - Excel 显然对钱很聪明。

不过,至于整数,不是很多 - 它显示“20192”而不是“20,192” - 但我已经问过这个特定问题

我现在的问题是 - 这是一个 "bigger deal" - 如何限制平均值的小数位数?我想要“15.23”而不是“15.23076923”和“34.17”而不是更长更精确的值版本。

如何告诉公式生成器小数点后两位就足够了?

你试过=TEXT公式了吗? - 语法是这样的:=TEXT("412.24134","#,###.00") 答案将显示为 412.24:

所以写你的代码,像这样(尚未测试):

var avgAvgWeeklyDeliveriesCell = (Range)_xlSheetDelPerf.Cells[curDelPerfRow + 2, AVG_WEEKLY_DELIVERIES_COLUMN];
avgAvgWeeklyDeliveriesCell.Formula = string.Format("=TEXT(AVERAGE(K10:K{0})", curDelPerfRow),"#,###.00");