ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > 函数与公式 > 如何生成1~6的四位数以下全排列序列?

如何生成1~6的四位数以下全排列序列?

作者:绿色风 分类: 时间:2022-08-17 浏览:134
楼主
rongjun
Q:如何生成1~6的四位数以下全排列序列?
A:采用如下公式:

  1. =TEXT(SUM(MOD(INT((SUM(7^{2,1,0}*TRUNC((ROW()-{43,7,1})/{216,36,6}))+ROW())/7^{0;1;2;3}),7)*10^{0;1;2;3}),"0000")


如何生成1~6的四位数以下全排列序列?.rar
2楼
rongjun
生成1→n的k位数以下全排列序列的通用公式为:

  1. =TEXT(SUMPRODUCT(MOD(INT((SUMPRODUCT((n+1)^(ROW($1:$k)-1)*TRUNC((ROW()-MMULT(N(ROW($1:$k)>=TRANSPOSE(ROW($1:$k))),n^(ROW($1:$k)-1)))/n^ROW($1:$k)))+ROW())/(n+1)^(ROW($1:$k)-1)),n+1)*10^(ROW($1:$k)-1)),REPT(0,k))
3楼
dongtian1008
如果不要前面的0,那么生成1→n的k位数以下全排列序列的通用公式应该是什么样的,斑竹先谢了
      A
1       1
2       2
3       3
4       5
6       11
7       12
8       13
9       14
10     15
11     21
12     22
...       ...
4楼
rongjun

去掉TEXT函数就可以了
  1. =SUMPRODUCT(MOD(INT((SUMPRODUCT((n+1)^(ROW($1:$k)-1)*TRUNC((ROW()-MMULT(N(ROW($1:$k)>=TRANSPOSE(ROW($1:$k))),n^(ROW($1:$k)-1)))/n^ROW($1:$k)))+ROW())/(n+1)^(ROW($1:$k)-1)),n+1)*10^(ROW($1:$k)-1))
5楼
dongtian1008
谢谢楼主了,楼主的高数的好啊
6楼
dongtian1008

=TEXT(SUMPRODUCT(MOD(INT((SUMPRODUCT((n+1)^(ROW($1:$k)-1)*TRUNC((ROW()-MMULT(N(ROW($1:$k)>=TRANSPOSE(ROW($1:$k))),n^(ROW($1:$k)-1)))/n^ROW($1:$k)))+ROW())/(n+1)^(ROW($1:$k)-1)),n+1)*10^(ROW($1:$k)-1)),REPT(0,k))


=SUMPRODUCT(MOD(INT((SUMPRODUCT((n+1)^(ROW($1:$k)-1)*TRUNC((ROW()-MMULT(N(ROW($1:$k)>=TRANSPOSE(ROW($1:$k))),n^(ROW($1:$k)-1)))/n^ROW($1:$k)))+ROW())/(n+1)^(ROW($1:$k)-1)),n+1)*10^(ROW($1:$k)-1))

大哥这帮忙把这2个公式变成WPS表格里能用的吧,这个公式在WPS表格里不能用
7楼
dongtian1008
上面几个公式在excel2003和wps中里得到结果都是如下面的格式"
1   =TEXT(SUM(MOD(INT((SUM(7^{2,1,0}*TRUNC((ROW()-{43,7,1})/{216,36,6}))+ROW
     ())/7^
     {0;1;2;3}),7)*10^{0;1;2;3}),""0000"")"
2"
=TEXT(SUM(MOD(INT((SUM(7^{2,1,0}*TRUNC((ROW()-{43,7,1})/{216,36,6}))+ROW())/7^{0;1;2;3}),7)*10^{0;1;2;3}),""0000"")"

楼主第一个公式也的不结果
Q:如何生成1~6的四位数以下全排列序列?
A:采用如下公式:
  • =TEXT(SUM(MOD(INT((SUM(7^{2,1,0}*TRUNC((ROW()-{43,7,1})/{216,36,6}))+ROW())/7^{0;1;2;3}),7)*10^{0;1;2;3}),"0000")
    复制公式或代码
  • 8楼
    dongtian1008

    楼主在这页里给的这几个公式貌似都出错了,在EXCEL里也不能用
    9楼
    rongjun
    不知道楼上说的哪里错误?我在Excel2010里试了,结果跟用高级筛选的结果一样。
    10楼
    dongtian1008
    :如何生成1~6的四位数以下全排列序列?
    A:采用如下公式:


    =TEXT(SUM(MOD(INT((SUM(7^{2,1,0}*TRUNC((ROW()-{43,7,1})/{216,36,6}))+ROW())/7^{0;1;2;3}),7)*10^{0;1;2;3}),"0000")
    复制公式或代码

    比如您的说的上面的第一个公式我复制后,按ctrl+v粘贴后,按ctrl+enter结果得到是每行都是这样的结果:
    "
    =TEXT(SUM(MOD(INT((SUM(7^{2,1,0}*TRUNC((ROW()-{43,7,1})/{216,36,6}))+ROW())/7^{0;1;2;3}),7)*10^{0;1;2;3}),""0000"")"

    "
    =TEXT(SUM(MOD(INT((SUM(7^{2,1,0}*TRUNC((ROW()-{43,7,1})/{216,36,6}))+ROW())/7^{0;1;2;3}),7)*10^{0;1;2;3}),""0000"")"
    11楼
    dongtian1008


    难道是EXCEL版本的问题吗,但WPS社区有个超级版主说是公式错了

    如果公式没错,版主给传个附件呀
    12楼
    rongjun
    1楼不是已经有附件了吗?给你看看我的结果:

     
    13楼
    dongtian1008


    WPS的超级版主说上面几个公式在EXCEL2003里也不能用。这是怎么回事EXCEL能用WPS上不能,难道还得买一个excel2007吗,买不起啊
    14楼
    dongtian1008

    哦,如何定义
    15楼
    rongjun



    工作簿9.rar
    16楼
    donghan
    公式没有问题呀

    免责声明

    有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
    ------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

    评论列表
    sitemap