确定四位数字的所有排列

时间:2013-05-07 16:39:10

标签: excel excel-formula combinations vlookup conditional-formatting

我如何或者是什么公式让Excel识别工作表中序列中具有相同四位数字的所有相同数字。例如123443212143

有一百个数字,但如果1234在工作表上以任何顺序一起显示,我希望它突出显示或等等。

2 个答案:

答案 0 :(得分:1)

完全在公式(不使用VBA)中完成此操作的唯一方法是进行强力搜索。如果数字1,2,3,4以单元格A1中的任何顺序出现,则以下公式返回TRUE。要突出显示满足条件的单元格,请将其用作条件格式设置规则的输入(在Excel 2007或2010中,查找名为“使用公式确定要格式化的单元格”的规则类型。)

=NOT(AND(ISERR(SEARCH("1234",TEXT(A1,"#"))),ISERR(SEARCH("1243",TEXT(A1,"#"))),ISERR(SEARCH("1324",TEXT(A1,"#"))),ISERR(SEARCH("1342",TEXT(A1,"#"))),ISERR(SEARCH("1423",TEXT(A1,"#"))),ISERR(SEARCH("1432",TEXT(A1,"#"))),ISERR(SEARCH("2134",TEXT(A1,"#"))),ISERR(SEARCH("2143",TEXT(A1,"#"))),ISERR(SEARCH("2314",TEXT(A1,"#"))),ISERR(SEARCH("2341",TEXT(A1,"#"))),ISERR(SEARCH("2413",TEXT(A1,"#"))),ISERR(SEARCH("2431",TEXT(A1,"#"))),ISERR(SEARCH("3124",TEXT(A1,"#"))),ISERR(SEARCH("3142",TEXT(A1,"#"))),ISERR(SEARCH("3214",TEXT(A1,"#"))),ISERR(SEARCH("3241",TEXT(A1,"#"))),ISERR(SEARCH("3412",TEXT(A1,"#"))),ISERR(SEARCH("3421",TEXT(A1,"#"))),ISERR(SEARCH("4123",TEXT(A1,"#"))),ISERR(SEARCH("4132",TEXT(A1,"#"))),ISERR(SEARCH("4213",TEXT(A1,"#"))),ISERR(SEARCH("4231",TEXT(A1,"#"))),ISERR(SEARCH("4312",TEXT(A1,"#"))),ISERR(SEARCH("4321",TEXT(A1,"#")))))

答案 1 :(得分:1)

以下比@ dodgethesteamroller的回答更短(不足为奇!):

=IFERROR(VLOOKUP(D1,$A:$A,1,0),"")=D1

Applies to适当的范围BUT仅适用于四位数字,而不是34451234,并假设所有可能的排列(四位数为24)都在ColumnA中单独列出。

选择您希望识别四位数集(假设为D列)和HOME>的范围。样式 - 条件格式,新规则...,使用公式确定要格式化的单元格格式化此公式为真的值:添加上面的公式和格式化... ,选择您选择的格式,OK,OK。