Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel-将唯一公式引用与文本字符串相结合_Excel_Unique - Fatal编程技术网

Excel-将唯一公式引用与文本字符串相结合

Excel-将唯一公式引用与文本字符串相结合,excel,unique,Excel,Unique,我试图使用UNIQUE函数在Excel中基于我的源数据创建一个下拉列表,比如说列“Team”有Team01-Team10,它是用=UNIQUE(table[teams])获取的,然后我想在该列表中添加一个星号,并且仍然能够动态地将其用于数据验证列表。就像我只能通过引用A1#得到原始值一样(如果我们说公式在A1中)。有人对此有创造性的解决方案吗 我尝试在数据验证中结合单元格引用和字符串*,但没有成功。我还尝试将公式放在A2中,然后在A1中写入星号*,并创建一个命名范围,引用A1:A2#,这基本上会

我试图使用UNIQUE函数在Excel中基于我的源数据创建一个下拉列表,比如说列“Team”有Team01-Team10,它是用
=UNIQUE(table[teams])
获取的,然后我想在该列表中添加一个星号,并且仍然能够动态地将其用于数据验证列表。就像我只能通过引用A1#得到原始值一样(如果我们说公式在A1中)。有人对此有创造性的解决方案吗


我尝试在数据验证中结合单元格引用和字符串
*
,但没有成功。我还尝试将公式放在A2中,然后在A1中写入星号
*
,并创建一个命名范围,引用A1:A2#,这基本上会引发相同的错误。

您可以使用TEXTJOIN和FILTERXML创建一个带有
*
的数组

=FILTERXML("<a><b>*</b><b>"&TEXTJOIN("</b><b>",,UNIQUE(table[teams]))&"</b></a>","//b")

=FILTERXML(“

您可以使用TEXTJOIN和FILTERXML创建带有
*
的数组

=FILTERXML("<a><b>*</b><b>"&TEXTJOIN("</b><b>",,UNIQUE(table[teams]))&"</b></a>","//b")

=FILTERXML(“

也许我不明白你的问题,我只是看看@Scott Craner的答案, 如果我错了,请原谅我,这是我的公式:

=UNIQUE(IF(ISERROR(1/(ROW(1:6)-1)),"*",C2:C7))

也许我不明白你的问题,我只是看看@Scott Craner的答案, 如果我错了,请原谅我,这是我的公式:

=UNIQUE(IF(ISERROR(1/(ROW(1:6)-1)),"*",C2:C7))

太棒了!我的例子被简化了,所以实际上我也设法找到了另一个解决办法:实际上我在A1-D1中有类型、站点、频道和团队标题。在我想要的下拉列表下。我数据中的团队名称是“类型、站点、频道、团队”,所以我在F1单元格中写的是:
=UNIQUE(FILTER(raw[Team]),ISNUMBER(SEARCH(A2&“*”&B2&“*”&C2&“*”&D2,原始[团队])
然后在H1-K1中我写了相同的标题,在H2-K2中我使用了这个公式:
唯一(TRIM(MID(替换(F1#,“#”),REPT(“,LEN(F1#)),(1-1)*LEN(F1#+1,LEN(G4#))
其中(1-1)针对站点上原始数据列的“Type”、(2-1)和源数据列,所以团队的“Type”是U,最后我可以在A2-D2中的数据验证中引用H2#、I2#、J2#和K2#。最后基本上得到了一个团队名称的数据透视表(唯一的奇怪之处是,由于它都是动态的,我必须按DELETE键重置下拉列表)。不过,您的解决方案更加优雅!谢谢!我如何在范围之后添加一些内容呢?对不起,我不太熟悉使用
&“yourNewItem”替换
&“yourNewItem”
@strechingmycompetence抱歉:
=FILTERXML(“*”&TEXTJOIN(“,”UNIQUE(表[团队])&“yourNewItem”,“//b”)
Brilliant!我的例子被简化了,所以实际上我也设法找到了另一个解决办法:事实上我在A1-D1中有类型、站点、频道和团队标题。在我想要的下拉列表下。我数据中的团队名称是“Type\u Site\u Channel\u Team”,所以我在单元格F1中写的是:
=UNIQUE(FILTER(raw[Team],ISNUMBER(SEARCH)(A2&“*”&B2&“*”&C2&“*”&D2,原始[团队])
然后在H1-K1中我写了相同的标题,在H2-K2中我使用了这个公式:
唯一(TRIM(MID(替换(F1#,“#”),REPT(“,LEN(F1#)),(1-1)*LEN(F1#+1,LEN(G4#))
其中(1-1)针对站点上原始数据列的“Type”、(2-1)和源数据列,所以团队的“Type”是U,最后我可以在A2-D2中的数据验证中引用H2#、I2#、J2#和K2#。最后基本上得到了一个团队名称的数据透视表(唯一的奇怪之处是,由于它都是动态的,我必须按DELETE键重置下拉列表)。不过,您的解决方案更加优雅!谢谢!我如何在范围之后添加一些内容呢?对不起,我不太熟悉使用
&“yourNewItem”
@strechingmycompetence抱歉:
=FILTERXML(“*”&TEXTJOIN(“,”UNIQUE)(表[团队])和“yourNewItem”,“//b”)