You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求可输出X除以Y的商和余数的谷歌表格公式

谷歌表格公式:完整展示X除以Y的商余分解过程

如果你需要把X除以Y的所有分解步骤(包括逐步迭代的商和余数)一次性输出,不用手动计算每一步,可以用以下结合LET、SCAN和ARRAYFORMULA的公式:

公式1:展示从原始数到最终余数的完整分解

假设被除数X在单元格A1,除数Y在单元格B1,输入以下公式:

=ARRAYFORMULA(IFERROR(
  LET(
    x, A1,
    y, B1,
    max_steps, IF(y=0,,CEILING(LOG(x, y)) + 1),
    // 迭代计算每一步的数值(从X开始,每次取上一步的商)
    step_vals, SCAN(x, SEQUENCE(max_steps), LAMBDA(current, _, QUOTIENT(current, y))),
    // 计算每一步的商和余数
    step_quots, QUOTIENT(step_vals, y),
    step_rems, MOD(step_vals, y),
    // 生成格式化输出文本
    output_lines, IF(step_vals > 0, step_vals & " = " & y & "*" & step_quots & " + " & step_rems, ""),
    // 过滤空行,只保留有效步骤
    FILTER(output_lines, output_lines <> "")
  )
))

效果示例

当A1=10,B1=3时,公式会输出3行结果:

  • 10 = 3*3 + 1
  • 3 = 3*1 + 0
  • 1 = 3*0 + 1

当A1=15,B1=5时,输出:

  • 15 = 5*3 + 0
  • 3 = 5*0 + 3

公式2:简化版(仅展示最终商余及核心步骤)

如果只需要从原始数直接分解到最终余数,不需要中间商的二次分解,用这个更简洁的版本:

=ARRAYFORMULA(IFERROR(
  LET(
    x, A1,
    y, B1,
    final_quot, QUOTIENT(x, y),
    final_rem, MOD(x, y),
    {
      x & " = " & y & "*" & final_quot & " + " & final_rem;
      IF(final_rem > 0, final_rem & " < " & y & "(最终余数)", y & "*" & final_quot & " = " & x & "(无余数)")
    }
  )
))

效果示例

A1=17,B1=5时输出:

  • 17 = 5*3 + 2
  • 2 < 5(最终余数)

A1=20,B1=4时输出:

  • 20 = 4*5 + 0
  • 4*5 = 20(无余数)

注意事项

  • 确保除数Y不为0,公式已通过IFERROR处理除零错误
  • 若X小于Y,公式会直接输出X = Y*0 + X及X < Y(最终余数)

内容的提问来源于stack exchange,提问作者William Toscano

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 11:05:17