Excel使条件格式化显示为单元格中的列表
我有一个数据集,有两个极端的数字,我会使用条件格式来确定数据集中的数字是否符合条件,如下面的公式所示。
=OR(B3<$E$8,B3>$E$7)
我想知道的是他们的任何方式,使不符合条件的单元格列表在单元格中显示为列表。
例如,如果我有一个1,2,3,4,5,6,7,8,9的列表,并且这两个数字是3和7,那么这个fromula就会使这个输出变成:
1,2,8,9
在标准模块中input以下用户自定义function:
Public Function MakeAList(rng As Range, U As Long, L As Long) As String Dim r As Range, s As String For Each r In rng If r.Value < L Or r.Value > U Then s = s & "," & r.Value End If Next r MakeAList = Mid(s, 2) End Function
然后将其与您的值范围一起使用:
注意:
第一个参数是值的范围。
第二个参数是上限。
第三个参数是下限。
用户定义的函数(UDF)非常易于安装和使用:
- ALT-F11调出VBE窗口
- ALT-I ALT-M打开一个新的模块
- 粘贴东西,closuresVBE窗口
如果保存工作簿,则UDF将随之保存。 如果您在2003年以后使用的是Excel版本,则必须将该文件另存为.xlsm而不是.xlsx
要删除UDF:
- 如上所示调出VBE窗口
- 清除代码
- closuresVBE窗口
从Excel中使用UDF:
= MakeAList(A1:A100,B1,C1)
要了解有关macros的更多信息,请参阅:
http://www.mvps.org/dmcritchie/excel/getstarted.htm
和
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
有关UDF的具体信息,请参阅:
http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx
macros必须启用这个工作!
尝试以下方法:
=LEFT(D2;FIND(G2;D2)-1)&RIGHT(D2;LEN(D2)-FIND(H2;D2)-1)
哪里:
D2 - 1,2,3,4,5,6,7,8,9 G2 - 3 H2 - 7
结果:
1,2,8,9
最好 – AB