excel公式教程:求字符串中的数字组成的数能够被指定数整除的数的个数( 四 )


注意,当参数num_chars指定为0或FALSE时,MID函数返回空字符串 。
2. 现在,我们已经从单元格A1的字符串中生成了所有可能的子字符串,下面需要做的就是测试这些数据能否被3、5、7整除 。
当然,首先要看哪些数值能被3整除,再看哪些数值能被5整除,最后看能被7整除的数值 。(我们也要考虑公式的灵活性,即不仅适用于这里给出的3个数,还应适用于其他任意给出的数)
但是,现在我们想要同时测试是否能被这3个数的整除,而不是一个一个来 。这意味着,对于刚才生成的16行16列的矩阵数组,我们想给MOD函数传递一个含有3个值(即3、5和7)的数组作为除数 。
如果这256个数据都在单列(或单行),那么实现公式非常简单:
MOD(A1:A256,{3,5,7})
这将生成一个256行3列的数组,由每一行的数据除以3、5、7所得到的余数组成 。
然而,这里我们将生成的两维数组和作为除数的一维数组传递给MOD函数时,将生成一个三维数组 。太复杂了!因此,我们必须想办法将上面生成的数组转换成单列或单行数组 。
这里,将传递含有256个值的数组到INDEX的每个参数,这些数组具有相同的“偏移”(即两个单列或两个单行),从而确保最终的数组是一维的 。
传递给INDEX的数组中,参数row_num为:
N(IF(1,Arry3))
参数column_num为:
N(IF(1,Arry4))
(1)先看看定义的名称Arry3:
1+INT((Arry2)/LEN($A1))
它引用了名称Arry2:
ROW(INDIRECT(“1:” & LEN($A1)^2))-1
转换为:
ROW(INDIRECT(“1:” & 16^2))-1
转换为:
ROW(INDIRECT(“1:” & 256))-1
结果为从0至255的值组成的数组:
{0;1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20;21;22;23;24;25;26;27;28;29;30;31;32;33;34;35;36;37;38;39;40;41;42;43;44;45;46;47;48;49;50;51;52;53;54;55;56;57;58;59;60;61;62;63;64;65;66;67;68;69;70;71;72;73;74;75;76;77;78;79;80;81;82;83;84;85;86;87;88;89;90;91;92;93;94;95;96;97;98;99;100;101;102;103;104;105;106;107;108;109;110;111;112;113;114;115;116;117;118;119;120;121;122;123;124;125;126;127;128;129;130;131;132;133;134;135;136;137;138;139;140;141;142;143;144;145;146;147;148;149;150;151;152;153;154;155;156;157;158;159;160;161;162;163;164;165;166;167;168;169;170;171;172;173;174;175;176;177;178;179;180;181;182;183;184;185;186;187;188;189;190;191;192;193;194;195;196;197;198;199;200;201;202;203;204;205;206;207;208;209;210;211;212;213;214;215;216;217;218;219;220;221;222;223;224;225;226;227;228;229;230;231;232;233;234;235;236;237;238;239;240;241;242;243;244;245;246;247;248;249;250;251;252;253;254;255}
因此,名称Arry3:
1+INT((Arry2)/LEN($A1))
转换为:
1+INT(({0;1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20;21;22;23;24;25;26;27;28;29;30;31;32;33;34;35;36;37;38;39;40;41;42;43;44;45;46;47;48;49;50;51;52;53;54;55;56;57;58;59;60;61;62;63;64;65;66;67;68;69;70;71;72;73;74;75;76;77;78;79;80;81;82;83;84;85;86;87;88;89;90;91;92;93;94;95;96;97;98;99;100;101;102;103;104;105;106;107;108;109;110;111;112;113;114;115;116;117;118;119;120;121;122;123;124;125;126;127;128;129;130;131;132;133;134;135;136;137;138;139;140;141;142;143;144;145;146;147;148;149;150;151;152;153;154;155;156;157;158;159;160;161;162;163;164;165;166;167;168;169;170;171;172;173;174;175;176;177;178;179;180;181;182;183;184;185;186;187;188;189;190;191;192;193;194;195;196;197;198;199;200;201;202;203;204;205;206;207;208;209;210;211;212;213;214;215;216;217;218;219;220;221;222;223;224;225;226;227;228;229;230;231;232;233;234;235;236;237;238;239;240;241;242;243;244;245;246;247;248;249;250;251;252;253;254;255})/16)
最后的结果为:
{1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;3;3;3;3;3;3;3;3;3;3;3;3;3;3;3;3;4;4;4;4;4;4;4;4;4;4;4;4;4;4;4;4;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;6;6;6;6;6;6;6;6;6;6;6;6;6;6;6;6;7;7;7;7;7;7;7;7;7;7;7;7;7;7;7;7;8;8;8;8;8;8;8;8;8;8;8;8;8;8;8;8;9;9;9;9;9;9;9;9;9;9;9;9;9;9;9;9;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;11;11;11;11;11;11;11;11;11;11;11;11;11;11;11;11;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;13;13;13;13;13;13;13;13;13;13;13;13;13;13;13;13;14;14;14;14;14;14;14;14;14;14;14;14;14;14;14;14;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;16;16;16;16;16;16;16;16;16;16;16;16;16;16;16;16}

推荐阅读