数据有效性的序列不能引用多个不连续区域
转载自:老胡同学说EXCEL 2024-04-17 09:09 浙江
数据有效性用序列List引用一段区域作为下拉菜单是Excel及其常见的用法,但是今天我碰到一个情况引用的区域是不连续的,我按照常规的做法去引用确报错了,为了让大家理解这个错误,请大家看下图,绿色虚线选中的部分就是需要引用的三个连续的区域,点击OK提示报错了,于是开始各种检索这个错误,才发现list引用必须是连续的区域才可以。
那么问题就变成了如何把三个不连续区域变成一个区域。
接下来根据Excel的不同版本提供二个解决方案。2个方案一共会用到以下4个函数,让我们先温习以下官网的这四个函数的作用。
【解决方案一】Textsplit,Textjoin,transpose组合实现多个不同区域合并为一个连续区域
=TRANSPOSE(TEXTSPLIT(TEXTJOIN(",",TRUE,B9:B10,C11:C12,D13:D14),","))
【公式解释】
1、使用Textjoin函数将三个不连续的区域,通过分隔符,合并在一个单元格中
2、使用Textsplit将一个单元格中的值通过分隔符,分开在一行多列的单元格中
3、使用Tranpose函数将一行多列的值转变成多行一列
【解决方案二】用Vstack函数按照顺序垂直增加数组
这个方案是最简单的。
=VSTACK(B9:B10,C11:C12,D13:D14)
以上两个方案我都提供给大家了,但是结果或许是用不了,因为你们的Excel版本不支持这2个函数:Textsplit函数和Vstack函数。