以下是引用chenjun在2004-3-1 22:35:00的发言:
先说我的条件格式公式
=OR(($C$3:$L$12<>"")*((COLUMN($C$3:$L$12)=COLUMN())+(ROW($C$3:$L$12)=ROW())+(ROW($C$3:$L$12)-ROW()=COLUMN($C$3:$L$12)-COLUMN())+(ROW($C$3:$L$12)-ROW()=COLUMN()-COLUMN($C$3:$L$12))))
1、黑色粗体带下划线部分是返回一个10*10的逻辑数组,不为空白的为TRUE,空白的格为FALSE;
2、红色部分返回一个1行10列的逻辑数组,与条件格式单元格同列的为TRUE,不同列的为FALSE;
3、绿色粗体部分返回一个1列10行的逻辑数组,与条件格式单元格同行的为TRUE,不同行的为FALSE
4、绿色部分返回一个10*10的逻辑数组,与条件格式单元格在-45度线上的位置为TRUE,其他的为FALSE;
5、兰色部分返回一个10*10的逻辑数组,与条件格式单元格在+45度线上的位置为TRUE,其他的为FALSE;
6、后4个数组相加的运算规则见我的“数组的一些特殊用途”一贴中有关“数组运算规则”的说明,其结果是返回1个10*10的数组,与条件格式单元格在米字形位置上的为1或2或3或4(一个非0值),其他的位置是0;
7、数组1*数组6,返回一个10*10的数组,不是米字形位置上的为0,米字形位置上不为空白的格为一个非0数值,其他的为0;
8、OR函数对数组7求或,只要有一个非0值就返回TRUE,数组7全为0就返回FALSE。
明白了吧!对于逻辑运算补充说明如下:
TRUE+TRUE=2;TRUE+FALSE=1;FALSE+FALSE=0;TRUE+数值A=数值A+1;FALSE+数值A=数值A;
TRUE*0=0;TRUE*数值A=数值A;FALSE*0=0;FALSE*数值A=0;
在excel的逻辑运算中数值0当作FALSE,其他的非0数值当作TRUE,所以OR函数用于数组时,只要数组中有一个非0数值就返回TRUE。
也进去看了,可是不知道有什么作用,就是为了好看么? |