1
horseInBlack 2022-08-21 20:29:29 +08:00
好像 Excel 本身的排序就支持多个关键词排序,你可以搜索下 Excel 多列排序
程序来实现的话,你用的语言有什么操作 Excel 的类库我不清楚,但是转成 csv 以后应该是比较简单规整的数据,了解数组操作就能做了 |
2
zx4824 2022-08-21 22:30:31 +08:00 1
文本 A 201001 [201012]
这个 201012 的数据都不在原数据表里,也不说明逻辑 拆分逻辑都不写清楚,这种思维水平还是别上论坛问了,去淘宝付费找人做不好吗 |
4
wxf666 2022-08-21 23:09:21 +08:00
还是用 vba 快些吧*(反正我想不出来有啥公式能搞定)*
VB 伪代码*(我不熟悉 Excel 的对象)*: Dim 输入行 As Integer, 输出行 As Integer, 年 As Long Dim 起始年月 As Long, 终止年月 As Long, 起始年 As Integer, 终止年 As Integer 输入行 = 1 输出行 = 1 While Len(单元格("A" & 输入行)) 起始年月 = CLng(单元格("B" & 输入行)) 终止年月 = CLng(单元格("C" & 输入行)) 起始年 = 起始年月 \ 100 终止年 = 终止年月 \ 100 For 年 = 起始年 To 终止年 单元格("A" & 输出行) = 单元格("A" & 输入行) 单元格("B" & 输出行) = CStr(年 * 100 + IIf(年 > 起始年, 1, 起始年月 Mod 100)) 单元格("C" & 输出行) = CStr(年 * 100 + IIf(年 < 终止年, 12, 终止年月 Mod 100)) 输出行 = 输出行 + 1 Next Wend |
5
wxf666 2022-08-21 23:10:15 +08:00
少打一行:
…… Next 输入行 = 输入行 + 1 Wend |
6
wxf666 2022-08-21 23:13:06 +08:00
噢,输出列不该也是 A B C ,应该设为 D E F 之类的:
单元格("D" & 输出行) = …… 单元格("E" & 输出行) = …… 单元格("F" & 输出行) = …… |
7
jingben1 2022-08-22 10:05:13 +08:00
这种问题问搜索引擎呀!搜索关键词:excel 分列
|