Administrator
发布于 2026-03-22 / 11 阅读
0
0

Excel电竞比赛-2025年-折纸主题

题目来源:https://excel-esports.com/product/origami-mewc-2025/

有兴趣的同学,可以前去官网下载试题,尝试解决一下。

题目介绍

按照题目的难度级别分类,主要分为以下几类:

  • Level 1(简单):基于行列逻辑的引用定位问题

  • Levels 3-5(中等):不同复杂度的折叠问题

  • Levels 6-7(困难 / 非常困难):对角折叠和连续多方向折叠问题

题目

内容

难度

解题思路

Level 1

/

Easy

比较基础,不过多赘述

Level 2

/

Easy

Level 3

单次固定8x8宽度的向左对折

Medium

行数不变,列变为n+1-y

Level 4

单次不固定宽度的任意方向对折

Medium

依靠给定的宽度,生成偏移量,并创建动态数组

Level 5

2次连续的不固定宽度任意方向对折

Medium

自定义各种方向的对折函数

Level 6

单次不固定宽度的对角线任意方向对折,并按象限求和

Hard

Level 7

3次连续的不固定宽度的对角线任意方向对折,并求剩余数之和。

Very Hard

核心知识

一、核心公式清单

函数类别

具体函数

主要用途

基础统计

SUM()

计算折叠后可见单元格的数值和

文本处理

REGEXEXTRACT()

TEXTAFTER()

TEXTBEFORE()

LEFT()

RIGHT()

MID()

解析单元格引用(如从R2C2AH100中提取行号、列号)

查找引用

INDEX()

INDIRECT()

OFFSET()

XLOOKUP()

定位折叠前后的单元格坐标、提取数值

逻辑判断

IF()

IFS()

SWITCH()

根据折叠方向 / 象限执行不同的坐标变换逻辑

动态数组

MAKEARRAY()

LAMBDA()

UNIQUE()

一次性构建折叠后的矩阵、自定义折叠逻辑、去重处理

二、必备知识模块

  1. 线性代数知识

    • 矩阵轴对称变换(如向右对折:列号映射为9-y

    • 对角折叠的象限坐标变换

    • 连续多次折叠的复合变换计算

  2. 正则表达式知识

    • 从混合格式引用(如R2C2AH100)中提取行、列信息

    • 匹配折叠方向符号(//等)

  3. 自定义函数

    • LAMBDA()封装折叠坐标变换逻辑

    • 复用不同方向、不同尺寸的折叠计算

  4. 模拟运算表

    • 批量测试不同折叠参数(尺寸、方向、起始位置)

    • 验证多组题目答案的一致性

  5. 基础编程

    • 理解循环、条件判断、函数封装思想

    • 辅助 Excel 函数逻辑设计(如坐标变换的迭代计算)

三、核心应用场景

  • 坐标定位:用INDEX()/XLOOKUP()+ 线性代数变换,实现折叠前后单元格映射

  • 引用解析:用文本函数 + 正则表达式,解析任意格式的单元格引用

  • 矩阵生成:用MAKEARRAY()+LAMBDA(),一键生成折叠后的完整矩阵

  • 逻辑分支:用IFS()/SWITCH(),处理多方向、多象限的复杂折叠规则

案例讲解

题目的难度是层层递进的,难度更高的题目会复用之前的题目的公式与技巧。为了节省时间,我们讲解一下第3题,它非常具有说明意义,首先它考察,lambad公式的使用,偏移量的计算,模拟表运算,以及嵌套函数的使用。尤其是后面的题目的解题,尤其需要分步骤拆解,把每一步的解题过程都抽象定义为公式,层层递用计算。

那么我们开始第3题的讲解。

在 Excel 中实现 “向右对折(右半边保留、左半边置零)” 操作的解题思路,核心是处理 8×8 或类似的 “纸张” 矩阵,属于 Origami 折纸案例的技术实现方案。特别说明,这里的纸张上的数据翻折后,翻折的一面就会覆盖另一面,。相当于底层一面的数据没有了。

第一步:纯数学坐标映射法

  • 核心逻辑:利用轴对称坐标变换,直接通过公式定位翻折前的原始位置。

  • 假设原始矩阵是8 列(列号 1~8),向右对折后只保留右半 4 列(列号 5~8):

    • 翻折后右半边第 x 行第 y 列(y 从 5 到 8)

    • 翻折前的原始坐标是:x 行第 (9-y)

    • 例:翻折后第 x 行第 5 列 → 翻折前第 x 行第 9-5=4 列;翻折后第 x 行第 8 列 → 翻折前第 x 行第 9-8=1

  • 优点:计算高效,无需遍历所有单元格,直接通过行列号推导。

  • 适用场景:已知翻折后位置,快速反查原始数据。

=

第二步:逐元素构建矩阵法(INDEX 函数)

  • 核心逻辑:手动构建翻折后的新矩阵,逐单元格赋值。

  • 操作步骤

    1. 左半部分(原左 4 列)直接填充 0,表示被覆盖隐藏。

    2. 右半部分(原右 4 列)使用 INDEX(原始矩阵, 行号, 9-列号) 函数,从原始矩阵中提取翻折前对应位置的数值。

  • 优点:逻辑直观,适合 Excel 新手,逐单元格验证不易出错。

第三步:MAKEARRAY 函数一次性构建法

  • 核心逻辑:利用 Excel 365 的动态数组函数 MAKEARRAY一次性生成完整翻折矩阵

  • 公式示例(假设原始矩阵在 A1:H8):

    =MAKEARRAY(8,8, LAMBDA(r,c, IF(c<=4, 0, INDEX(A1:H8, r, 9-c))))
    
    • r:行号,c:列号

    • IF(c<=4, 0, ...):左半 4 列置 0

    • INDEX(A1:H8, r, 9-c):右半 4 列提取翻折前对应数值

  • 优点:代码简洁,动态数组自动溢出填充,无需手动拖拽公式。


评论