Google Sheets - Как округлить суммы по нескольким ячейкам после достижения ограничения по количеству - PullRequest
1 голос
/ 19 марта 2019

Позвольте мне начать с публикации таблицы, которую я хочу обновить: -reacted, поскольку проблема решена сейчас -

Справа вы увидите счетчик "Общая заработанная прибыль", показывающий драгоценные камни, золото, серебро, а затем медь. В настоящее время они автоматически заполняются через SUM соответствующих столбцов слева. То, что я хотел бы видеть:

  • Когда значение меди превышает 999, серебро увеличивается на 1, добавляя к существующему значению.

  • Когда значение серебра превышает 999, золото увеличивается на 1, добавляя к существующему значению.

  • Когда золото поднимается выше 99 (да, на этот раз не 999), Gem увеличивается на 1, добавляя к существующему значению

  • Драгоценный камень может оставаться как есть и не иметь кепки, он просто должен увеличиваться с золота, превышающего 99 раз.

Как получить поля, автоматически обновляющиеся после того, как они достигли этих порогов? Мне все еще нужно, чтобы все данные извлекались из столбцов слева автоматически. Я новичок в электронных таблицах, поэтому, пожалуйста, объясните это для меня как можно проще.

РЕДАКТИРОВАТЬ: я попробовал первое предлагаемое решение, однако я бы предпочел сохранить каждый тип валюты отдельно. Пожалуйста, учтите это в вашем предложении.

Ответы [ 3 ]

1 голос
/ 19 марта 2019

Почему бы вместо этого не использовать одно число и не рассчитать все эти валюты?

Например, у вас может быть номер 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)

0 голосов
/ 20 марта 2019
=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")}))

0

0 голосов
/ 19 марта 2019
={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)}

0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...