我想在微信在线金山文档小程序中实现以下效果不知可行不可行:比如我先做一个在线表格,其中 A 列是姓名,B 列是身份证号,然后我再做一个在线收集表单,需要收集一些人姓名和身份证号以及的其他一些信息,我希望在收集表当用户输入姓名时如果他的身份证号在先前的表格里存在,那么他的身份证号便能自动填入下面需要收集身份证号码的选项中,如果姓名有重复,便在下列身份证一栏出现下拉菜单,显示出所有姓名重复的用户的身份证以让用户选择,这该如何实现?
对于这个问题,我问了 chatGPT,它的以下回复也没能帮我解决:
在微信在线金山文档小程序中实现你所说的功能是可行的。你可以按照以下步骤操作:
1. 创建一个在线表格,其中A列是姓名,B列是身份证号。
2. 创建一个在线收集表格,其中需要收集各种信息,包括姓名和身份证号。
3. 在在线收集表格中,选中需要自动填充身份证号的单元格,例如C2单元格。
4. 点击工具栏上的“数据验证”按钮,在下拉列表中选择“数据验证”。
5. 在“数据验证”窗口中,需要做两个数据验证。首先,选择“自定义”选项,在“公式”中输入以下公式:
`=IF(COUNTIF(sheet1!$A:$A,$A2)>1,"Chose ID","Fill ID")`
其中,“sheet1”是你保存姓名和身份证号的表格的名称,“$A2”是指当前单元格中的姓名。该公式的作用是如果A列中有重复的姓名,则显示“Chose ID”,否则显示“Fill ID”。
6. 其次,选择“从列表中选”选项,进一步选择一种验证方式:
① 如果选择姓名无需验证,直接在验证范围中输入以下公式:
`=UNIQUE(sheet1!$B:$B)`
这个公式的作用是从表格“sheet1”的B列中提取所有唯一的身份证号,并将它们列成一个下拉菜单,让用户可供选择。
注意:因为这种方式下拉菜单会挡住下面的表格数据,因此不建议使用,特别是数据比较多的时候。
② 或者,如果希望在用户选取姓名后再验证身份证号是否匹配,可以在验证范围中选择以下公式:
`=IFERROR(FILTER(sheet1!$B:$B,sheet1!$A:$A=$A2),"")`
该公式的作用是先筛选出姓名为当前单元格中的姓名且身份证号非空的单元格,然后将这些身份证号作为下拉菜单提供给用户选择。
注意:因为这种方式仅显示符合条件的选项,即下拉框会随着字符逐渐缩小,因此在数据相对较多时仍然不方便使用。另外,如果下拉框的数据太多,也会影响使用效果。
7. 点击“确定”按钮,完成数据验证设置。
8. 用户在填写收集表格时,在姓名一栏输入姓名后,身份证号码列会随后跟随着自动变化。如果某个姓名在在线表格中存在多个对应的身份证号,该单元格将会显示“Chose ID”,用户需要手动从下拉菜单中选择正确的身份证号。否则,身份证号码列将自动填充对应的身份证号。
以上便是实现这个功能的一些步骤,你可以根据实际情况进行调整和修改。
我怀疑它根本没理解我的意思
于是问它
如果你指的是微信表单,即微信公众平台提供的表单收集功能,那么同样可以在表单中使用数据验证来完成自动填充身份证号的任务。具体方法是:首先在数据验证中选择“从另一工作表复制列表”,并将先前收集的数据(包括姓名和身份证号)复制到一个新的工作表中。然后,在表单的对应问题中,选择“下拉框”作为答题方式,并在“选项”中选择“从另一工作表读取”,并选择刚刚复制好的身份证号列表所在的工作表和对应的列,这样表单中的下拉框就会自动填充符合当前姓名的身份证号。如果有重复姓名,可以通过在表单中添加“逻辑跳转”实现选择身份证号的功能,即在重复姓名的情况下,自动跳转到选择身份证号的问题,并在其中提供符合条件的身份证号选项。
但是最终还是没能解决问题,在线金山文档里的内容,和它说的不太符合,有没有靠谱的方法?
对于这个问题,我问了 chatGPT,它的以下回复也没能帮我解决:
在微信在线金山文档小程序中实现你所说的功能是可行的。你可以按照以下步骤操作:
1. 创建一个在线表格,其中A列是姓名,B列是身份证号。
2. 创建一个在线收集表格,其中需要收集各种信息,包括姓名和身份证号。
3. 在在线收集表格中,选中需要自动填充身份证号的单元格,例如C2单元格。
4. 点击工具栏上的“数据验证”按钮,在下拉列表中选择“数据验证”。
5. 在“数据验证”窗口中,需要做两个数据验证。首先,选择“自定义”选项,在“公式”中输入以下公式:
`=IF(COUNTIF(sheet1!$A:$A,$A2)>1,"Chose ID","Fill ID")`
其中,“sheet1”是你保存姓名和身份证号的表格的名称,“$A2”是指当前单元格中的姓名。该公式的作用是如果A列中有重复的姓名,则显示“Chose ID”,否则显示“Fill ID”。
6. 其次,选择“从列表中选”选项,进一步选择一种验证方式:
① 如果选择姓名无需验证,直接在验证范围中输入以下公式:
`=UNIQUE(sheet1!$B:$B)`
这个公式的作用是从表格“sheet1”的B列中提取所有唯一的身份证号,并将它们列成一个下拉菜单,让用户可供选择。
注意:因为这种方式下拉菜单会挡住下面的表格数据,因此不建议使用,特别是数据比较多的时候。
② 或者,如果希望在用户选取姓名后再验证身份证号是否匹配,可以在验证范围中选择以下公式:
`=IFERROR(FILTER(sheet1!$B:$B,sheet1!$A:$A=$A2),"")`
该公式的作用是先筛选出姓名为当前单元格中的姓名且身份证号非空的单元格,然后将这些身份证号作为下拉菜单提供给用户选择。
注意:因为这种方式仅显示符合条件的选项,即下拉框会随着字符逐渐缩小,因此在数据相对较多时仍然不方便使用。另外,如果下拉框的数据太多,也会影响使用效果。
7. 点击“确定”按钮,完成数据验证设置。
8. 用户在填写收集表格时,在姓名一栏输入姓名后,身份证号码列会随后跟随着自动变化。如果某个姓名在在线表格中存在多个对应的身份证号,该单元格将会显示“Chose ID”,用户需要手动从下拉菜单中选择正确的身份证号。否则,身份证号码列将自动填充对应的身份证号。
以上便是实现这个功能的一些步骤,你可以根据实际情况进行调整和修改。
我怀疑它根本没理解我的意思
于是问它
如果你指的是微信表单,即微信公众平台提供的表单收集功能,那么同样可以在表单中使用数据验证来完成自动填充身份证号的任务。具体方法是:首先在数据验证中选择“从另一工作表复制列表”,并将先前收集的数据(包括姓名和身份证号)复制到一个新的工作表中。然后,在表单的对应问题中,选择“下拉框”作为答题方式,并在“选项”中选择“从另一工作表读取”,并选择刚刚复制好的身份证号列表所在的工作表和对应的列,这样表单中的下拉框就会自动填充符合当前姓名的身份证号。如果有重复姓名,可以通过在表单中添加“逻辑跳转”实现选择身份证号的功能,即在重复姓名的情况下,自动跳转到选择身份证号的问题,并在其中提供符合条件的身份证号选项。
但是最终还是没能解决问题,在线金山文档里的内容,和它说的不太符合,有没有靠谱的方法?