如何把 Excel 数据变成 Visio 流程图

生成一张 Visio 流程图所依据的那几个 Excel 列:Process Step ID、Process Step Description、Next Step ID、Connector Label 和 Shape Type——以及按位置把 ID 与标签配对的分支约定。

运作方式

  1. 从 Visio 内部取用起始工作簿

    打开 Visio,如果你已经在编辑一张图,就选择 File > New。选择 TEMPLATES,然后 Flowchart,然后“Basic Flowchart - Data Visualizer”。在模板预览里选择“Excel data template”,拿到 Microsoft 提供的、列标题已经写好的工作簿,并选一个度量单位。请这样做,而不要去追支持文章里那些示例工作簿链接:那两个短链接现在都会跳到 Bing 而不是一个文件。Data Visualizer 模板被记载为仅限 Visio Plan 2。

  2. 把数据做成表格,而不是区域

    在你走近向导之前,先把这块数据设置成 Excel 表格。向导第一页会要你“选择 Excel 工作簿”,然后“在工作簿中选择一个表格或一个自定义区域”,所以区域会被毫无异议地接受——但 Microsoft 自己的指引是“如果你想让图表和数据保持同步,请使用 Excel 表格而不是自定义区域”。选了区域,正是有些人几个月后才发现 Refresh Diagram 对自己从一开始就不可能生效的原因。

  3. 给每一行一个唯一的 Process Step ID

    这是必填列,也是带着一条规则的那一列:“Excel 表中每个值都必须唯一且不为空”。这些 ID 就是步骤的身份,也是 Next Step ID 唯一被允许指名的东西,所以请用简短稳定的值——1、2、3 或 A10、A20——并且删掉一行之后绝不重用它的 ID。在向导的 Process Steps 页上,这一列就是你映射到“Process Step ID / Activity ID”的那个。

  4. 把图形文字写在 Process Step Description 里

    Microsoft 把这一列描述为“加进流程图中每个图形的文字”,所以单元格里是什么,读者在方框里看到的就是什么。一行只写一个动作,并把判断写成问句,因为一个装着名词的菱形是没法回答的。它在同一个向导页上映射到“Process Step / Activity Description”,那一页还带一个用于替代文字的 Accessibility 区域。

  5. 让每一行指向前方,并给每条分支起名

    Next Step ID 里放的是“序列中下一个图形的 Process Step ID”。当一个步骤分叉时,把所有后继 ID 都放进那个单元格,并在 Connector Label 里为每一个放一个标签,Microsoft 把这一列记载为“对于分支图形,连接线标签以逗号分隔的文本表示”。两个列表按位置配对:ID 是 5 和 4、标签是“符合制度,超出制度”,就会把“符合制度”放在通向 5 的箭头上。向导的 Connections 页是你确认 Delimiter 和 Connector Label 映射的地方。

  6. 设好 Shape Type,只在需要泳道时才加职能和阶段

    Shape Type 是“你想在 Visio 图表中呈现的图形类型”,在向导的 Shape Types 页上映射,而这个映射并不局限于流程图形状库:Microsoft 确认你可以“把流程数据映射到 Visio 中的任意形状库”来创建图表。只在做跨职能流程图时才填职能列和阶段列——见 /zh/guides/用visio制作跨职能流程图 ——然后点创建和 Finish。/zh/guides/用visio从excel创建流程图 走的是那五个向导页本身。

常见问题

做一张 Visio 流程图,Excel 需要哪些列?

在 Microsoft 提供的工作簿里是五列。“Process Step ID”是必填的,每个值都必须唯一且不为空。“Process Step Description”是加进每个图形的文字。“Next Step ID”里放的是序列中下一个图形的 Process Step ID。“Connector Label”为分支图形的各条出口命名,以逗号分隔的文本表示。“Shape Type”说明画哪个图形。另外还有职能列和阶段列,但它们只对 Cross-Functional Flowchart 图表有效,Basic Flowchart 图表会无视它们,所以一条普通流程需要的是那五列。

在 Visio 的 Excel 模板里怎么做一个是/否判断?

把两个后继 ID 都放进那一行的 Next Step ID 单元格,把两个标签都放进它的 Connector Label 单元格,用逗号分隔。Microsoft 的措辞是,对于分支图形,“连接线标签以逗号分隔的文本表示”。两个列表按位置读取,所以第一个 ID 拿到第一个标签——ID 写“9,7”、标签写“批准,不批准”,就会把“批准”送到 9。没有任何东西会检查这个配对是不是你想要的,所以配错了就会得到一张看着合理、但分支被调换了的图。请在向导的 Connections 页上确认分隔符,并在生成之前把每一个分叉行重读一遍。

源数据必须是 Excel 表格,还是区域也行?

两者都会被接受。向导第一页要你“在工作簿中选择一个表格或一个自定义区域”,所以区域也能好好地生成一张图。后果出现在后面:Microsoft 的指引是“如果你想让图表和数据保持同步,请使用 Excel 表格而不是自定义区域”,也就是说选区域是在悄悄放弃从工作簿刷新图表、以及把改动写回工作簿。既然把区域转成表格只要一会儿,而把一张画完的图转过来要久得多,那就先把它做成表格。

从电子表格生成流程图需要 Visio Plan 2 吗?

走这条路线是需要的。Microsoft 把 Data Visualizer 模板和 Create Diagram from Data 向导都记载为仅在 Visio Plan 2 中可用,撰稿时其标价是每用户每月 15 美元、按年付费,而它也是唯一包含这个向导所在的桌面版应用的订阅层级。在更低的层级上,你可以在 Visio 网页版里手画一张基础流程图,但那里没有任何东西能从一张表生成它。QueryChart 是同一种数据结构,只是少了许可这一步:在浏览器里、带一列下一步的行,任何操作系统上都行,而行始终是唯一的事实来源。

流程图指南中的更多内容