Google 工作表 - 如何在达到数量限制后对多个单元格的总和进行舍入
Google Sheets - How to round SUMs across several cells once a number limit is reached
首先让我分享我要更新的电子表格:
-编辑,因为问题现在已经解决了!-
您会注意到右侧有一个 "Total profit earned" 的计数器,显示 Gems、Gold、Silver,然后是 Copper。目前,我通过左侧相关列的 SUM
自动填充它们。我想看到的是:
当铜价超过 999 时,银价增加 1,从而增加那里的现有价值。
当白银价值超过 999 时,黄金价值增加 1,增加到现有价值。
当黄金超过 99(是 99,这次不是 999)时,Gem 增加 1,添加到现有值
一个gem可以保持原样,没有上限,每次只要金币超过99就可以增加。
如何让字段在达到这些阈值后自动更新?我仍然需要自动从左侧的列中提取所有数据。我是电子表格的新手,所以请尽可能简单地为我拼写出来。
编辑:我尝试了第一个建议的解决方案,但是,我更愿意将每种货币类型分开。请在您的提案中考虑这一点。
为什么不使用一个数字来计算所有这些货币呢?
例如,您可以使用数字 4,202,754,它将用 754 填充铜,用 202 填充银,用 4 填充金,用 0 填充宝石。
比如我们将这个号码存入B2。
对于铜,我们将使用具有此值的 C2 字段:
=MOD(B2, 1000)
对于白银,我们将使用具有此值的 D2 字段:
=MOD(楼层(B2 / 1000, 1), 1000)
对于黄金,我们将使用具有此值的 D2 字段:
=MOD(楼层(B2 / 1000000, 1), 1000)
对于宝石,我们将使用具有此值的 D2 字段:
=楼层(B2 / 1000000000, 1)
={SUM(E3:E)+
QUOTIENT(SUM(F3:F), 100)+
QUOTIENT(MOD(SUM(F3:F), 100)+
QUOTIENT(SUM(G3:G), 1000)+
QUOTIENT(MOD(SUM(G3:G), 1000)+
QUOTIENT(SUM(H3:H), 1000),1000),100),
MOD(MOD(SUM(F3:F), 100)+
QUOTIENT(SUM(G3:G), 1000)+
QUOTIENT(MOD(SUM(G3:G), 1000)+
QUOTIENT(SUM(H3:H), 1000),1000),100),
MOD(MOD(SUM(G3:G), 1000)+
QUOTIENT(SUM(H3:H), 1000),1000),
MOD(SUM(H3:H), 1000)}
=ARRAYFORMULA(VALUE({
TEXT(IFERROR(IF(LEN(SUM(H3:H))=8, 0, LEFT(SUM(H3:H), LEN(SUM(H3:H))-8)), 0)+
IFERROR(IF(LEN(SUM(G3:G))=5, 0, LEFT(SUM(G3:G), LEN(SUM(G3:G))-5)), 0)+
IFERROR(IF(LEN(SUM(F3:F))=2, 0, LEFT(SUM(F3:F), LEN(SUM(F3:F))-2)), 0)+
SUM(E2:E), "#0"),
TEXT(IFERROR(IF(LEN(SUM(H3:H))=6, 0, RIGHT(LEFT(SUM(H3:H), LEN(SUM(H3:H))-6), 2)), 0)+
IFERROR(IF(LEN(SUM(G3:G))=3, 0, RIGHT(LEFT(SUM(G3:G), LEN(SUM(G3:G))-3), 2)), 0)+
RIGHT(SUM(F3:F), 2), "#0"),
TEXT(IFERROR(IF(LEN(SUM(H3:H))=3, 0, RIGHT(LEFT(SUM(H3:H), LEN(SUM(H3:H))-3), 3)), 0)+
RIGHT(SUM(G3:G), 3), "#0"),
TEXT(RIGHT(SUM(H3:H), 3), "#0")}))
首先让我分享我要更新的电子表格: -编辑,因为问题现在已经解决了!-
您会注意到右侧有一个 "Total profit earned" 的计数器,显示 Gems、Gold、Silver,然后是 Copper。目前,我通过左侧相关列的 SUM
自动填充它们。我想看到的是:
当铜价超过 999 时,银价增加 1,从而增加那里的现有价值。
当白银价值超过 999 时,黄金价值增加 1,增加到现有价值。
当黄金超过 99(是 99,这次不是 999)时,Gem 增加 1,添加到现有值
一个gem可以保持原样,没有上限,每次只要金币超过99就可以增加。
如何让字段在达到这些阈值后自动更新?我仍然需要自动从左侧的列中提取所有数据。我是电子表格的新手,所以请尽可能简单地为我拼写出来。
编辑:我尝试了第一个建议的解决方案,但是,我更愿意将每种货币类型分开。请在您的提案中考虑这一点。
为什么不使用一个数字来计算所有这些货币呢?
例如,您可以使用数字 4,202,754,它将用 754 填充铜,用 202 填充银,用 4 填充金,用 0 填充宝石。
比如我们将这个号码存入B2。 对于铜,我们将使用具有此值的 C2 字段: =MOD(B2, 1000) 对于白银,我们将使用具有此值的 D2 字段: =MOD(楼层(B2 / 1000, 1), 1000) 对于黄金,我们将使用具有此值的 D2 字段: =MOD(楼层(B2 / 1000000, 1), 1000) 对于宝石,我们将使用具有此值的 D2 字段: =楼层(B2 / 1000000000, 1)
={SUM(E3:E)+
QUOTIENT(SUM(F3:F), 100)+
QUOTIENT(MOD(SUM(F3:F), 100)+
QUOTIENT(SUM(G3:G), 1000)+
QUOTIENT(MOD(SUM(G3:G), 1000)+
QUOTIENT(SUM(H3:H), 1000),1000),100),
MOD(MOD(SUM(F3:F), 100)+
QUOTIENT(SUM(G3:G), 1000)+
QUOTIENT(MOD(SUM(G3:G), 1000)+
QUOTIENT(SUM(H3:H), 1000),1000),100),
MOD(MOD(SUM(G3:G), 1000)+
QUOTIENT(SUM(H3:H), 1000),1000),
MOD(SUM(H3:H), 1000)}
=ARRAYFORMULA(VALUE({
TEXT(IFERROR(IF(LEN(SUM(H3:H))=8, 0, LEFT(SUM(H3:H), LEN(SUM(H3:H))-8)), 0)+
IFERROR(IF(LEN(SUM(G3:G))=5, 0, LEFT(SUM(G3:G), LEN(SUM(G3:G))-5)), 0)+
IFERROR(IF(LEN(SUM(F3:F))=2, 0, LEFT(SUM(F3:F), LEN(SUM(F3:F))-2)), 0)+
SUM(E2:E), "#0"),
TEXT(IFERROR(IF(LEN(SUM(H3:H))=6, 0, RIGHT(LEFT(SUM(H3:H), LEN(SUM(H3:H))-6), 2)), 0)+
IFERROR(IF(LEN(SUM(G3:G))=3, 0, RIGHT(LEFT(SUM(G3:G), LEN(SUM(G3:G))-3), 2)), 0)+
RIGHT(SUM(F3:F), 2), "#0"),
TEXT(IFERROR(IF(LEN(SUM(H3:H))=3, 0, RIGHT(LEFT(SUM(H3:H), LEN(SUM(H3:H))-3), 3)), 0)+
RIGHT(SUM(G3:G), 3), "#0"),
TEXT(RIGHT(SUM(H3:H), 3), "#0")}))