前言
在录入多种规格的商品数量的场景,大多数SaaS平台的操作方式都是用一维表的格式录入,这样不止麻烦,还非常容易录错,实际操作中,也正如所想,同事经常会发生有录错的情况;
然后我就想,excel的数据透视表转换后的二维表简洁明了,还可以做到规格汇总,能否在实现用二维表的格式去做到录入数据呢;
经过了解多家SaaS平台的操作方式后,最终发现只有简道云可以实现,实现功能如下:
想象一下,如果是一维表格式录入的话,会有多麻烦,每一行都要单独的选择颜色和尺码,而且行数多了后非常不直观,容易录错
1. 应用场景:
- 服饰鞋帽的成品下单登记
- 进销存中的出货清单登记
- 多颜色多规格的产品录入
2. 设计思路:
1)建立辅助子表,做到以二维表的形式去录入,最后转换成一维表的格式去储存
2)子表之间不能之间设置公式,需要辅助主字段去关联起来
3)利用SPLIT函数,把主字段拆分为数组来被子表引用
4)子表数据联动辅助表自动添加指定行(或者用子表单自动添加行插件)
3. 设置步骤:
以服饰行业的成品登记,设置最多5个尺码为例(可设置尺码上限不止5个):
4. 表单搭建
新建表,字段设置如下:
字段名称 |
字段类型 |
字段设置 |
字段公式 |
总下单数 |
数字 |
|
SUM(一维表转换.数量) |
选择尺码 |
下拉复选框 |
|
预设常用的尺码-根据需求自行设置 |
颜色 |
子表-下拉框 |
|
预设常用的颜色-根据需求自行设置 |
5-尺码数 |
子表-数字 |
不可见 |
5-尺码数 |
码数① |
子表-单行文本 |
设置子表显隐规则
如下图
|
IF(二维表登记.颜色=='颜色',选择尺码[0],'') |
码数② |
子表-单行文本 |
IF(二维表登记.颜色=='颜色',选择尺码[1],'') |
码数③ |
子表-单行文本 |
IF(二维表登记.颜色=='颜色',选择尺码[2],'') |
码数④ |
子表-单行文本 |
IF(二维表登记.颜色=='颜色',选择尺码[3],'') |
码数⑤ |
子表-单行文本 |
IF(二维表登记.颜色=='颜色',选择尺码[4],'') |
总数 |
子表-单行文本 |
|
IF(二维表登记.颜色=='颜色','总数',SUM(二维表登记.码数①,二维表登记.码数②,二维表登记.码数③,二维表登记.码数④,二维表登记.码数⑤)) |
颜色-数组辅助 |
子表-单行文本 |
不可见 |
IF(二维表登记.颜色=='颜色','',REPT(CONCATENATE(二维表登记.颜色,','),5-ISEMPTY(二维表登记.码数①)-ISEMPTY(二维表登记.码数②)-ISEMPTY(二维表登记.码数③)-ISEMPTY(二维表登记.码数④)-ISEMPTY(二维表登记.码数⑤))) |
尺码-数组辅助 |
子表-单行文本 |
不可见 |
IF(二维表登记.颜色=='颜色','',CONCATENATE(IF(ISEMPTY(二维表登记.码数①),'',选择尺码[0]+','),IF(ISEMPTY(二维表登记.码数②),'',选择尺码[1]+','),IF(ISEMPTY(二维表登记.码数③),'',选择尺码[2]+','),IF(ISEMPTY(二维表登记.码数④),'',选择尺码[3]+','),IF(ISEMPTY(二维表登记.码数⑤),'',选择尺码[4]+','))) |
数量-数组辅助 |
子表-单行文本 |
不可见 |
IF(二维表登记.颜色=='颜色','',CONCATENATE(IF(ISEMPTY(二维表登记.码数①),'',二维表登记.码数①+','),IF(ISEMPTY(二维表登记.码数②),'',二维表登记.码数②+','),IF(ISEMPTY(二维表登记.码数③),'',二维表登记.码数③+','),IF(ISEMPTY(二维表登记.码数④),'',二维表登记.码数④+','),IF(ISEMPTY(二维表登记.码数⑤),'',二维表登记.码数⑤+','))) |
尺码数 |
数字 |
不可见 |
COUNT(选择尺码) |
行数 |
子表-数字 |
不可见 |
可参考子表单自动添加行插件配置-关联【行数】字段 |
颜色 |
子表-单行文本 |
|
SPLIT(颜色数组,',')[一维表转换.行数-1] |
尺码 |
子表-单行文本 |
|
SPLIT(尺码数组,',')[一维表转换.行数-1] |
数量 |
子表-数字 |
|
SPLIT(数量数组,',')[一维表转换.行数-1] |
颜色数组 |
单行文本 |
不可见 |
CONCATENATE(二维表登记.颜色-数组辅助) |
尺码数组 |
单行文本 |
不可见 |
CONCATENATE(二维表登记.尺码-数组辅助) |
数量数组 |
单行文本 |
不可见 |
CONCATENATE(二维表登记.数量-数组辅助) |
行数 |
数字 |
不可见 |
COUNT(SPLIT(颜色数组,','))-1 |
|