【问题标题】:Reduce a number down to a static set of numbers将一个数字缩减为一组静态数字
【发布时间】:2020-02-14 23:23:53
【问题描述】:

好的,我有一个 Google 表格,我需要将一个数字减少到一组特定的 4 个数字。然后计算这些数字出现了多少次。

例如:

它分解为:1, 2, 3, 4

不顾他们的个人价值观,除非是为了被破坏。

现在拨打电话17

Count+Add 1, 2, 3, 4, 1, 2, 3 = 7 r1

取号12

Count+Add 1, 2, 3, 4, 1 =  r1

余数向下舍入

因此,基本上,它将单元格 A1 分解为计数需要多少个序列才能达到 A1 中的总数,舍入。

【问题讨论】:

  • 您可能需要重申您的问题。我假设您希望在无法使用宏功能的 Google 中执行此操作。给定的集合 [1, 2, 3, 4] 是恒定的,还是我们需要为该集合的变化做好准备?你对结果更感兴趣还是对过程更感兴趣?有几种方法可以解决它,如果您的问题没有更多背景信息,我想确保您得到您真正想要的答案。
  • @Nick Google 表格可以使用宏:google-sheets-macros

标签: google-sheets array-formulas counting google-sheets-query cumulative-sum


【解决方案1】:

尝试:

=ARRAYFORMULA(COUNTA(IFERROR(QUERY(MMULT(TRANSPOSE((
 ROW(INDIRECT("A1:A"&A2*COUNTA(SPLIT(B2, ","))))<=TRANSPOSE(
 ROW(INDIRECT("A1:A"&A2*COUNTA(SPLIT(B2, ","))))))*TRANSPOSE(
 SPLIT(QUERY(B2&IF(ROW(INDIRECT("A1:A"&A2))<>"", ",")
 ,,9^9), ","))), SIGN(TRANSPOSE(
 SPLIT(QUERY(B2&IF(ROW(INDIRECT("A1:A"&A2))<>"", ",")
 ,,9^9), ",")))), "where Col1 <="&A2, 0))))

【讨论】:

  • 这真是一个代码!请注意,每个主题的序列将始终是静态的。在这种情况下,序列是 1,2,3,4。有时会是 2,4,6,8。此公式将采用 B 列中定义的序列?
  • @MichaelDeArmon 是的,它会
【解决方案2】:

看起来很奇怪但是...

您的数列加到 10,因此您的数字 10 位及以上乘以 4 是您的第一个元素。然后如果个位数在 6 到 9 之间,则加 3、3 到 5 加 2,或 1 到 2 加 1。可能有一个更优雅的公式...

=(INT(A1/10)*4)+IF(MOD(A1,10)&gt;0,1,0)+IF(MOD(A1,10)&gt;3,1,0)+IF(MOD(A1,10)&gt;5,1,0)

【讨论】:

  • 但是如果我要改变序列值呢?
猜你喜欢
  • 2020-06-18
  • 1970-01-01
  • 2021-09-16
  • 1970-01-01
  • 2019-05-13
  • 2015-02-12
  • 1970-01-01
  • 1970-01-01
  • 2018-03-18
相关资源
最近更新 更多