excel怎么从矩阵数组中返回满足条件的所有组合数( 三 )


上面的数组传递给MMULT作为第一个参数,其第二个参数为{1;1;1;1},这样:
MMULT(0+(ISNUMBER(FIND({1,2,3,4},ROW(INDIRECT(“1234:4321”))))),{1;1;1;1})
的结果为:
{4;3;3;3;3;3;3;3;3;4;3;3;3;3;3;3;2;2;2;3;3;2;2;2;2;2;2;2;2;3;3;2;2;2;2;2;2;2;2;3;3;2;2;2;2;2;2;2;2;3;3;2;2;2;2;2;2;2;2;3;3;2;2;2;2;2;2;2;3;2;3;2;2;2;2;2;2;2;3;2;3;2;2;2;2;2;3;3;3;3;4;…}
数组中的4表明原来的ROW函数生成的值中分别包含1、2、3、4各一个,将该数组与4进行比较:
MMULT(0+(ISNUMBER(FIND({1,2,3,4},ROW(INDIRECT(“1234:4321”))))),{1;1;1;1})=4
得到:
{TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;…}
数组中标红的TRUE值与ROW生成的原数组中的1234、1243、1324相对应 。
现在,对于将在公式的IF语句中生成TRUE的24个值(1234、1243、1324等)中的每一个,提取一个由这四个数字组成的数组(其每个数组为{1,2,3,4}、{1,2,4,3}、{1,3,2,4}等)传递给OFFSET函数 。使用MID函数来实现,其参数start_num指定为{1,2,3,4}:
MID(ROW(INDIRECT(“1234:4321”)),{1,2,3,4},1)-1
转换为:
MID({1234;1235;1236;1237;1238;1239;1240;1241;1242;1243;1244;1245;1246;1247;1248;1249;1250;1251;1252;1253;1254;1255;1256;1257;1258;1259;1260;1261;1262;1263;1264;1265;1266;1267;1268;1269;1270;1271;1272;1273;1274;1275;1276;1277;1278;1279;1280;1281;1282;1283;1284;1285;1286;1287;1288;1289;1290;1291;1292;1293;1294;1295;1296;1297;1298;1299;1300;1301;1302;1303;1304;1305;1306;1307;1308;1309;1310;1311;1312;1313;1314;1315;1316;1317;1318;1319;1320;1321;1322;1323;1324;…},{1,2,3,4},1)-1
转换为:
{“1″,”2″,”3″,”4″;”1″,”2″,”3″,”5″;”1″,”2″,”3″,”6″;”1″,”2″,”3″,”7″;”1″,”2″,”3″,”8″;”1″,”2″,”3″,”9″;”1″,”2″,”4″,”0″;”1″,”2″,”4″,”1″;”1″,”2″,”4″,”2″;”1″,”2″,”4″,”3″;”1″,”2″,”4″,”4″;”1″,”2″,”4″,”5″;”1″,”2″,”4″,”6″;”1″,”2″,”4″,”7″;”1″,”2″,”4″,”8″;”1″,”2″,”4″,”9″;”1″,”2″,”5″,”0″;”1″,”2″,”5″,”1″;”1″,”2″,”5″,”2″;”1″,”2″,”5″,”3″;”1″,”2″,”5″,”4″;”1″,”2″,”5″,”5″;”1″,”2″,”5″,”6″;”1″,”2″,”5″,”7″;”1″,”2″,”5″,”8″;”1″,”2″,”5″,”9″;”1″,”2″,”6″,”0″;”1″,”2″,”6″,”1″;”1″,”2″,”6″,”2″;”1″,”2″,”6″,”3″;”1″,”2″,”6″,”4″;”1″,”2″,”6″,”5″;”1″,”2″,”6″,”6″;”1″,”2″,”6″,”7″;”1″,”2″,”6″,”8″;”1″,”2″,”6″,”9″;”1″,”2″,”7″,”0″;”1″,”2″,”7″,”1″;”1″,”2″,”7″,”2″;”1″,”2″,”7″,”3″;”1″,”2″,”7″,”4″;”1″,”2″,”7″,”5″;”1″,”2″,”7″,”6″;”1″,”2″,”7″,”7″;”1″,”2″,”7″,”8″;”1″,”2″,”7″,”9″;”1″,”2″,”8″,”0″;”1″,”2″,”8″,”1″;”1″,”2″,”8″,”2″;”1″,”2″,”8″,”3″;”1″,”2″,”8″,”4″;”1″,”2″,”8″,”5″;”1″,”2″,”8″,”6″;”1″,”2″,”8″,”7″;”1″,”2″,”8″,”8″;”1″,”2″,”8″,”9″;”1″,”2″,”9″,”0″;”1″,”2″,”9″,”1″;”1″,”2″,”9″,”2″;”1″,”2″,”9″,”3″;”1″,”2″,”9″,”4″;”1″,”2″,”9″,”5″;”1″,”2″,”9″,”6″;”1″,”2″,”9″,”7″;”1″,”2″,”9″,”8″;”1″,”2″,”9″,”9″;”1″,”3″,”0″,”0″;”1″,”3″,”0″,”1″;”1″,”3″,”0″,”2″;”1″,”3″,”0″,”3″;”1″,”3″,”0″,”4″;”1″,”3″,”0″,”5″;”1″,”3″,”0″,”6″;”1″,”3″,”0″,”7″;”1″,”3″,”0″,”8″;”1″,”3″,”0″,”9″;”1″,”3″,”1″,”0″;”1″,”3″,”1″,”1″;”1″,”3″,”1″,”2″;”1″,”3″,”1″,”3″;”1″,”3″,”1″,”4″;”1″,”3″,”1″,”5″;”1″,”3″,”1″,”6″;”1″,”3″,”1″,”7″;”1″,”3″,”1″,”8″;”1″,”3″,”1″,”9″;”1″,”3″,”2″,”0″;”1″,”3″,”2″,”1″;”1″,”3″,”2″,”2″;”1″,”3″,”2″,”3″;”1″,”3″,”2″,”4”;…}-1

推荐阅读