validation - 编辑 - 如何复制粘贴数据验证并更改范围?
问题描述
所以我根据它旁边的单元格中的数据验证做了一个动态数据验证下拉列表。问题是,当我将此数据验证复制到 1000 行时,我希望它根据行更改范围。我知道它必须手动完成,但想知道它是否可以自动化?
所以基本上我所拥有的是 A1 是您选择的服务,然后 B1 让您可以从我创建的公式中选择子服务,这基本上是
=TRANSPOSE(SI(ESTVIDE(Prestations!$C7);;SI(Prestations!$C7='Données'!$B$28;INDIRECT("Depose");SI(Prestations!$C7='Données'!$E$28;INDIRECT("Sols");SI(Prestations!$C7='Données'!$H$28;INDIRECT("Cloisons");SI(Prestations!$C7='Données'!$K$28;INDIRECT("Peinture");SI(Prestations!$C7='Données'!$N$28;INDIRECT("Plafonds");SI(Prestations!$C7='Données'!$Q$28;INDIRECT("Plomberie_CVC");SI(Prestations!$C7='Données'!$T$28;INDIRECT("Autres");SI(Prestations!$C7='Données'!$W$28;INDIRECT("Cas_Specifique");"Prestation n'existe pas"))))))))))
代码是法语的,对此感到抱歉。所以基本上 SI=IF, ESTVIDE=ISBLANK 和 ,s 是 ;s。Prestations!$C7 是服务,所以基本上我们的“A1”,然后包含在 INDIRECTS 中的是子服务的命名范围。'Données'!B28:W28 基本上是我比较 A1 下拉列表中的服务名称。
然后我只是复制粘贴了超过 1000 行。所以这基本上是我们的E1,然后复制到E1000。在数据验证中,我只是将范围设置为 E1:Z1。我使用了转置,否则数据会与下面复制的公式发生冲突。
现在我需要的是 A2 以后的数据验证。当然,当我复制粘贴数据验证时,它采用相同的范围 E1:Z1。可以修改成E2:Z2、E3:Z3等吗?
编辑:这是文档Prestation_Test的链接
解决方案
编辑 - 请注意,这个答案是在问题仍被标记为“Excel”时发布的。
好的。如果我理解正确,一种方法是使用当前单元格行定义一个动态命名范围。
使用以下公式定义一个名为“DataValidation”的命名范围:
=INDEX(Sheet1!$E:$E,ROW()):INDEX(Sheet1!$Z:$Z,ROW())
您需要将“Sheet1”更改为包含 E1:Z1000 范围的工作表的名称(从您的问题中不清楚它在哪个工作表上)。
然后就可以进入
=DataValidation
进入单元格的数据验证并将该单元格向下拖动。然后,数据验证将基于当前行的 E 到 Z 列中的内容。
编辑 - 如何定义命名范围
- 转到“公式”功能区。
- 单击“名称管理器”。
- 点击“新建”。
- 输入“DataValidation”作为名称。
- 在“参考:”框中输入上述公式(更改工作表名称)。
- 单击“确定”。
- 点击“关闭”。
请看下图:
推荐阅读
- javascript - Expo firebase 7.9.0 无法获取 downloadUrl
- java - 无法访问 android 活动中 onOptionsItemSelected 中的成员变量
- lua - Vinyl 引擎的 len() 和 count() 有什么区别?
- javascript - 将弹出窗口添加到 React 热图网格
- puppeteer - 如何处理 puppeteer js 中的随机弹出窗口
- ios - 如何使用 Swift 4.2 和 Xcode 11.3 将视频分享到 Instagram 订阅源?
- java - Java中泛型类的未经检查的赋值
- python - 在 pytorch 模型中获取权重和偏差并将其复制到另一个模型中的类似层的正确方法是什么?
- javascript - 来自 map 函数内部 props 的访问方法
- laravel - 修改/添加/重命名 eloquent 集合