xmind用例通过excel整理方式(注意!!不是通过python解析ximind文件转化成用例)

Excel公式解决方案

方法一:使用SUBSTITUTE嵌套(最简单直接)

excel 复制代码
=TRIM(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(
SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(
A1, "1.", CHAR(10)&"1."), "2.", CHAR(10)&"2."), "3.", CHAR(10)&"3."),
"4.", CHAR(10)&"4."), "5.", CHAR(10)&"5."), "6.", CHAR(10)&"6."),
"7.", CHAR(10)&"7."), "8.", CHAR(10)&"8."), "9.", CHAR(10)&"9."))

效果:

复制代码
输入:1.进入首页    2.鼠标滑动到数据分析    3.根据时间筛选
输出:
1.进入首页
2.鼠标滑动到数据分析
3.根据时间筛选

方法二:通用公式(识别任意数字+点)

excel 复制代码
=LET(
    txt, A1,
    len, LEN(txt),
    result, REDUCE("", SEQUENCE(len),
        LAMBDA(acc, i,
            LET(
                char, MID(txt, i, 1),
                nextChar, IF(i < len, MID(txt, i+1, 1), ""),
                IF(AND(ISNUMBER(--char), nextChar = "."),
                    acc & CHAR(10) & char,
                    acc & char
                )
            )
        )
    ),
    TRIM(result)
)

(需要Excel 365/2021)

方法三:TEXTJOIN数组公式(兼容旧版)

excel 复制代码
=TEXTJOIN("", TRUE,
    IF(
        ISNUMBER(--MID(A1, ROW(INDIRECT("1:"&LEN(A1))), 1)) 
        AND 
        MID(A1, ROW(INDIRECT("1:"&LEN(A1)))+1, 1) = ".",
        CHAR(10) & MID(A1, ROW(INDIRECT("1:"&LEN(A1))), 1),
        MID(A1, ROW(INDIRECT("1:"&LEN(A1))), 1)
    )
)

按Ctrl+Shift+Enter输入

更智能的公式(处理任意步骤号)

方法四:正则表达式风格替换

excel 复制代码
=LET(
    txt, A1,
    steps, TEXTSPLIT(txt, "    "),  // 假设用4个空格分隔
    TEXTJOIN(CHAR(10), TRUE, steps)
)

或者更精确的分隔:

excel 复制代码
=TEXTJOIN(CHAR(10), TRUE,
    FILTERXML("<t><s>" & 
    SUBSTITUTE(SUBSTITUTE(A1, "    ", "</s><s>"), " ", "</s><s>") & 
    "</s></t>", "//s")
)

一键式终极解决方案

方法五:自定义函数(VBA)

vba 复制代码
Function SplitSteps(ByVal text As String) As String
    Dim result As String, i As Integer, char As String
    
    For i = 1 To Len(text)
        char = Mid(text, i, 1)
        
        ' 如果当前字符是数字,且后面是点号,在前面加换行
        If IsNumeric(char) Then
            If i < Len(text) Then
                If Mid(text, i + 1, 1) = "." Then
                    If i > 1 Then result = result & Chr(10)
                End If
            End If
        End If
        
        result = result & char
    Next i
    
    ' 清理多余空格
    result = Application.WorksheetFunction.Trim(result)
    
    SplitSteps = result
End Function

使用: =SplitSteps(A1)

完整操作步骤

步骤1:应用公式

  1. 在B1输入(使用方法一):
excel 复制代码
=TRIM(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1, "1.", CHAR(10)&"1."), "2.", CHAR(10)&"2."), "3.", CHAR(10)&"3."))

步骤2:设置单元格格式

  1. 选中B列
  2. 按Ctrl+1打开格式设置
  3. 选择"对齐"标签
  4. 勾选"自动换行"
  5. 垂直对齐选择"靠上"

步骤3:调整显示

  1. 调整列宽到合适宽度
  2. 双击行号下边界自动调整行高

针对您具体内容的专用公式

excel 复制代码
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(
    "1.进入首页    2.鼠标滑动到数据分析    3.根据时间筛选",
    "1.", CHAR(10)&"1."),
    "2.", CHAR(10)&"2."),
    "3.", CHAR(10)&"3.")

Power Query方法(适合批量处理)

  1. 数据从表格/区域
  2. 添加自定义列
powerquery 复制代码
= Text.Combine(
    List.Transform(
        Text.Split([Column1], "    "),  // 根据实际分隔符调整
        each _
    ),
    "#(lf)"
)

最推荐的简单方案

excel 复制代码
=SUBSTITUTE(A1, "    ", CHAR(10))

如果您的步骤是用多个空格分隔的,这个最简单!

验证您的分隔符:

excel 复制代码
=LEN(TRIM(MID(SUBSTITUTE(A1, "    ", REPT(" ", 99)), 99, 99)))

查看空格数量,如果是4个空格,直接用上面的公式即可。

最终效果预览:

复制代码
┌──────────────────────────────────────┐
│              原内容                   │
├──────────────────────────────────────┤
│1.进入首页    2.鼠标滑动...    3.根据│
├──────────────────────────────────────┤
│              处理后                   │
├──────────────────────────────────────┤
│1.进入首页                            │
│2.鼠标滑动到数据分析                  │
│3.根据时间筛选                        │
└──────────────────────────────────────┘

将公式结果永久转换为纯文本的5种方法

方法一:复制粘贴为值(最常用)

  1. 选中包含公式的单元格/区域
  2. Ctrl+C 复制
  3. 右键点击粘贴选项 → 选择 "值" (图标:123)
    或者:
  4. Ctrl+Alt+V → 选择 "值" → 确定

方法二:使用选择性粘贴快捷键

excel 复制代码
操作步骤:
1. 选择公式单元格
2. Ctrl+C 复制
3. 按 Ctrl+Shift+V (直接粘贴为值)

(部分Excel版本支持)

方法三:通过剪贴板转换

  1. 选中公式单元格 → Ctrl+C(两次,打开剪贴板)
  2. 右侧打开剪贴板面板
  3. 点击要粘贴的位置
  4. 在剪贴板中点击公式内容 → 自动粘贴为值

方法四:VBA一键转换

vba 复制代码
Sub ConvertToValues()
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False
End Sub

使用:

  1. Alt+F11 打开VBA编辑器
  2. 插入 → 模块
  3. 粘贴代码
  4. 选中单元格 → 按 F5 运行

方法五:使用"仅填充值"功能

  1. 右键拖动公式单元格边框
  2. 松开右键 → 选择 "仅在此处填充值"

针对您案例的具体操作

您的公式:

excel 复制代码
=TRIM(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(
A1, "1.", CHAR(10)&"1."), "2.", CHAR(10)&"2."), "3.", CHAR(10)&"3."))

转换步骤:

  1. 应用公式后,B列显示处理结果(带换行)

  2. 选中B列所有结果

    复制代码
    ┌─────────┬──────────────────────┐
    │   A     │         B            │
    ├─────────┼──────────────────────┤
    │ 原始内容 │ =公式...             │
    │         │ 1.进入首页↵          │
    │         │ 2.鼠标滑动到数据分析↵│
    │         │ 3.根据时间筛选       │
    └─────────┴──────────────────────┘
  3. 复制B列Ctrl+C

  4. 右键点击B列第一个单元格粘贴选项

    复制代码
    ┌─────────┬──────────────────────┐
    │   A     │         B            │
    ├─────────┼──────────────────────┤
    │ 原始内容 │ 1.进入首页↵          │
    │         │ 2.鼠标滑动到数据分析↵│
    │         │ 3.根据时间筛选       │
    └─────────┴──────────────────────┘
  5. 此时B列已无公式,只有纯文本

验证转换成功的方法

  1. 点击B列单元格,编辑栏不再显示公式,只显示文本
  2. 删除A列原始数据,B列内容保持不变
  3. 查看单元格左上角无绿色三角(公式错误提示)

批量转换整个工作表的技巧

方法一:全选转换

excel 复制代码
操作:
1. Ctrl+A 全选工作表
2. Ctrl+C 复制
3. 右键 → 粘贴为值
4. 按 Esc 取消复制状态

方法二:定位公式单元格

  1. F5定位条件 → 选择 "公式" → 确定
  2. 所有公式单元格被选中
  3. Ctrl+C右键粘贴为值

方法三:使用"转为值"快速访问工具

  1. 文件 → 选项 → 快速访问工具栏
  2. 选择"不在功能区的命令"
  3. 找到 "粘贴值" → 添加
  4. 使用时选中单元格 → 点击快速访问工具栏图标

重要注意事项

换行符处理

粘贴为值后,CHAR(10)换行符会保留,但需要:

  1. 确保目标单元格已设置 "自动换行"
  2. 可能需要调整行高显示完整内容

数据备份建议

excel 复制代码
推荐操作顺序:
1. 原始数据在A列
2. B列使用公式处理
3. C列 = B列的值(粘贴为值)
4. 隐藏或删除B列(公式列)
5. 备份原始工作表

一键完成:公式+转换为值

如果您希望一步到位,可以使用这个VBA宏:

vba 复制代码
Sub ProcessAndConvert()
    Dim rng As Range
    Dim cell As Range
    Dim result As String
    
    ' 假设原始数据在A列,从A2开始
    Set rng = Range("A2:A" & Cells(Rows.Count, "A").End(xlUp).Row)
    
    For Each cell In rng
        ' 应用您的公式逻辑
        result = cell.Value
        result = Replace(result, "1.", Chr(10) & "1.")
        result = Replace(result, "2.", Chr(10) & "2.")
        result = Replace(result, "3.", Chr(10) & "3.")
        result = Application.WorksheetFunction.Trim(result)
        
        ' 直接输出为值到B列
        cell.Offset(0, 1).Value = result
        cell.Offset(0, 1).WrapText = True  ' 自动换行
    Next cell
    
    ' 自动调整行高
    rng.Offset(0, 1).Rows.AutoFit
End Sub

运行后,B列直接就是纯文本结果。

最简单快速的总结

对于您的需求:

  1. 做好公式 → 得到正确格式
  2. 全选结果区域Ctrl+C
  3. 原地粘贴右键值(V)
  4. 完成

这样既保留了换行效果,又去除了公式依赖。

相关推荐
小镇学者2 小时前
【python】python有必要像go或者nodejs那样做多版本切换吗?
开发语言·python·golang
星火开发设计2 小时前
变量与常量:C++ 中 const 关键字的正确使用姿势
开发语言·c++·学习·const·知识
hoiii1872 小时前
C# 俄罗斯方块游戏
开发语言·游戏·c#
huaqianzkh2 小时前
WinForm + DevExpress 控件的「完整继承关系」
开发语言
2501_919219042 小时前
画册设计尺寸在不同设备(手机/平板)显示差异如何处理?
python·智能手机·电脑
子午3 小时前
【2026原创】眼底眼疾识别系统~Python+深度学习+人工智能+CNN卷积神经网络算法+图像识别
人工智能·python·深度学习
a***59263 小时前
C++跨平台开发:挑战与解决方案
开发语言·c++
ACERT3333 小时前
10.吴恩达机器学习——无监督学习01聚类与异常检测算法
python·算法·机器学习
小北方城市网3 小时前
Spring Security 认证授权实战(JWT 版):从基础配置到权限精细化控制
java·运维·python·微服务·排序算法·数据库架构
诗词在线3 小时前
从算法重构到场景复用:古诗词数字化的技术破局与落地实践
python·算法·重构