PMC生产计划群:2025年第9周训练题答案分享

职场计划有古哥 2025-03-03 05:46:43

全文约2600字

大家好,我是古老师。今天我将发布2025年第9周PMC生产计划群的“每日一练”题目与答案。本次发布的资料包括每日练习题、对应的正确答案以及对相关考点的详细解析,旨在辅助大家的学习,并作为参考资料使用。

本周的主题集中在表格中单元格文本的分拆,例如文本与数字、文本与字母的分离,文本分行处理,以及将文本格式的日期转换为标准日期等几个方面。这些分拆操作在生产计划的各种场景中都非常实用。

周一: 分离混合数据

题目背景:

在物料清单中,物料代码通常包含特定规则,如字母代表物料类型或产地代码,数字代表年份等。如果不将这些信息分开,后续的数据分析将难以快速汇总。

考核点:

1. 函数:TEXTSPLIT

2. 堆叠函数:REDUCE

参考答案:

假设A列中包含符合上述规则的物料代码“M-APC5-SZ-2024”,可以在适当位置输入以下动态数组公式:

=DROP(REDUCE("",TRIMRANGE(A2:A100),LAMBDA(x,y,VSTACK(x,TEXTSPLIT(y,"-")))),1,1)

公式解释:

TRIM(A2:A100):确保从A2到A100单元格区域中的每个值都没有多余的空格。

REDUCE("", ..., LAMBDA(x, y, VSTACK(x, ...))):使用REDUCE函数遍历处理过的每个值,并通过VSTACK将其堆叠起来。

TEXTSPLIT(y, "-"):使用TEXTSPLIT函数根据分隔符“-”拆分每个物料代码。

DROP(..., 1):移除结果中的第一个元素(即初始的空字符串),以确保结果仅包含有效的拆分数据。

周二: 提取工单号的日期

题目背景:

在一些ERP系统导出的数据中,工单号通常包含日期信息,例如:WK240515A-3。为了便于后续进行日期维度的数据分析,需要从这些工单号中提取出日期部分,并将其转换为标准日期格式。

考核点:

1. 定义函数:LET

2. 日期函数:DATE

3. 文本函数:LEFT MID RIGHT

参考答案:

假设A列为为工单号:WK240515A-3,可以在适当位置输入以下动态数组公式:

=LET(A,TRIMRANGE(A2:A100),DATE("20"&MID(A,3,2),MID(A,5,2),MID(A,7,2)))

函数解释:

TRIM(A2:A100):确保从A2到A100单元格区域中的每个值都没有多余的空格。

LET:定义变量以简化公式表达。这里我们定义了一个名为A的变量来存储处理后的数据范围。

MID(A, 3, 2):从A中提取从第3个字符开始的2个字符(年份部分),并加上2000得到完整的年份。

MID(A, 5, 2):从A中提取从第5个字符开始的2个字符(月份部分)。

MID(A, 7, 2):从A中提取从第7个字符开始的2个字符(日期部分)。

DATE(year, month, day):将提取出的年、月、日组合成标准日期格式。

周三: 备注中的混合文本处理

题目背景:

在表格中,有一些文本备注包含多种规则的信息,例如“库位A3-过期20240515”,其中包括库位信息、库存状态和日期信息。需要将这些信息分离出来。分离的难点在于文本长度不一致,例如库位可能是“A3”、“B14”或“C007”。对于这类信息,可以使用文本函数进行特定截取。

考核点:

1. 文本函数:TEXTBEFORE/TEXTAFTER/MID/RIGHT/LEFT

2. 合并函数:HSTACK

3. 裁剪函数:TRIMRANGE

4. 日期函数:DATE

参考答案:

假设A列为包含上述格式的备注信息,可以在适当位置输入以下动态数组公式:

=LET(A,TRIMRANGE(A2:A100),B,RIGHT(A,8),HSTACK(TEXTBEFORE(TEXTAFTER(A,"库位"),"-"),TEXTAFTER(TEXTBEFORE(A,B),"-"),DATE(LEFT(B,4),MID(B,5,2),RIGHT(B,2))))

函数解释:

TRIM(A2:A100):确保从A2到A100单元格区域中的每个值都没有多余的空格。

LET:定义变量以简化公式表达。这里我们定义了两个变量:

A:存储处理后的数据范围。

datePart:提取出每条记录末尾的8个字符(即日期部分)。

TEXTAFTER(A, "库位"):从A中提取“库位”之后的部分。

TEXTBEFORE(..., "-"):从上一步的结果中提取“-”之前的库位信息。

TEXTBEFORE(A, datePart):从A中提取日期部分之前的内容。

TEXTAFTER(..., "-"):从上一步的结果中提取“-”之后的库存状态信息。

DATE(LEFT(datePart, 4), MID(datePart, 5, 2), RIGHT(datePart, 2)):将提取出的日期部分转换为标准日期格式。

HSTACK(...):将提取出的库位信息、库存状态和日期组合成一个水平数组。

周四: 分拆单元格内容

题目背景:

在某些特定场景中,需要将单元格的内容分拆到多行或多列。此时,需要观察待分拆的单元格,找到其中的特定规律,并使用文本函数进行快速分离。

考核点:

1. 文本函数:TEXTSPLIT

参考答案:

A列的数据为:C200交300;M-X3080交20;S1005交1800,此时可以利用关键符号:"交",";"来分离,录入动态数组公式一键分离;

=TEXTSPLIT(A2,"交",";")

函数解释:

TEXTSPLIT(A2, "交", ";"):此公式使用TEXTSPLIT函数根据指定的分隔符“交”和“;”对单元格A2中的内容进行分拆。

第一个参数A2:表示要进行分拆的单元格。

第二个参数"交":表示第一个分隔符,用于分拆不同部分的交货信息。

第三个参数";":表示第二个分隔符,用于分拆不同的记录。

该公式会将单元格中的内容按照“交”和“;”分割成多个部分,并以数组的形式返回结果。

周五: 分拆单元格内容并堆叠

题目背景:

在实际应用场景中,数据来源更为复杂,不仅需要将单元格内容分拆成多行或多列,还需要批量分离多个单元格的内容并将它们堆叠在一起。此时,单一的函数已经无法满足需求,需要使用高阶函数如REDUCE来完成这一任务。

考核点:

1. 文本函数:TEXTSPLIT

2. 合并函数:VSTACK

3. 堆叠函数:REDUCE

4. 裁剪函数:TRIMRANGE

5. 舍弃函数:DROP

参考答案:

假设A列和B列的数据如下:

A列:标识符(例如“A”)

B列:包含分隔符的数据(例如“C2050x3;M3080x2;S1005x1”)

可以在适当位置输入以下动态数组公式来实现批量分拆并堆叠: =DROP(REDUCE("",TRIMRANGE(A2:A100),LAMBDA(X,Y,VSTACK(X,LET(A,Y,IFNA(HSTACK(A,TEXTSPLIT(OFFSET(A,,1),"x",";")),A))))),1)

函数解释:

TRIMRANGE(A2:A100):确保从A2到A100单元格区域中的每个值都没有多余的空格。

REDUCE("", ..., LAMBDA(X, Y, ...)):使用REDUCE函数遍历处理过的每个值,并通过LAMBDA函数定义逻辑。

X:累积结果。

Y:当前处理的单元格值。

OFFSET(Y, 0, 1):获取与当前行对应的B列数据。

LET:定义变量以简化公式表达。这里我们定义了一个名为A的变量来存储对应的B列数据。

TEXTSPLIT(A, "x", ";"):根据分隔符“x”和“;”对A进行分拆。

HSTACK(Y, TEXTSPLIT(...)):将A列的标识符与分拆后的结果水平堆叠。

IFNA(..., Y):如果分拆过程中出现错误,则返回原始的标识符。

VSTACK(X, ...):将处理后的结果垂直堆叠到累积结果X中。

DROP(..., 1):移除结果中的第一个元素(初始的空字符串),以确保结果仅包含有效的数据。

以上就是本周关于PMC生产计划的所有题目和答案。希望通过这些练习,大家能够更好地掌握数据处理和分析的技巧,特别是在复杂的数据环境中如何高效地分离、提取和转换信息。这些技能不仅有助于提高工作效率,还能增强对数据的理解和应用能力。

同时,欢迎大家加入古哥PMC专业群,与更多的同行一起交流经验、共同学习、进步和成长。感谢大家的积极参与和支持!

0 阅读:0