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)非常易于安装和使用:

  1. ALT-F11调出VBE窗口
  2. ALT-I ALT-M打开一个新的模块
  3. 粘贴东西,closuresVBE窗口

如果保存工作簿,则UDF将随之保存。 如果您在2003年以后使用的是Excel版本,则必须将该文件另存为.xlsm而不是.xlsx

要删除UDF:

  1. 如上所示调出VBE窗口
  2. 清除代码
  3. 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