作者:乔山办公网日期:
返回目录:excel表格制作
#include <stdio.h>
int t=0;
void main()
{
char a[8]={'0','0','0','0','0','0','0','0'};
int f=0,i;
int getnext(char *);
while(t>=0)
{
if(t==7) {for(i=0;i<8;i++) printf("%c",a[i]);printf("\n");f=getnext(a+7);}
else if(f) f=getnext(a+t);
else t++;
}
}
int getnext(char *c)
{
if(*c=='9') *c='A';
else if(*c=='Z') {t--;*c='0';return 1;}
else (*c)++;
return 0;
}
任意单元格来中输入
=SMALL(IF(MMULT(--MID(ROW($1007:$8000),{1,2,3,4},1),{1;1;1;1})=8,ROW($1007:$8000)),ROW(A1))
同时源按下CTRL+SHIFT+ENTER输入数组公式,用自百动填充柄下拉度119行。
只排2位与3位的百数字是吧。
在任意度单元格输入公式:
=TEXT(SMALL(IF((ABS(MID(ROW($10:$333),1,1)-2)<2)*(ABS(MID(ROW($10:$333),2,1)-2)<2)*(ABS(MID(ROW($10:$333)&3,3,1)-2)<2)*(MID(ROW($10:$333),1,1)<>MID(ROW($10:$333),2,1))*(MID(ROW($10:$333),2,1)<>MID(ROW($10:$333),3,1))*(MID(ROW($10:$333),1,1)<>MID(ROW($10:$333),3,1)),ROW($10:$333),999),ROW()),"[<333]#;")
公式以CTRL+SHIFT+回车三键结束专。
将公式向下复属制。
如果你不会VBA,有个手动的方式也可以生成,耗时2-3分钟就可以了7a686964616fe78988e69d83365
我给出VBA方法,确保你的工作簿里有个工作表的名称是“Sheet3”,然后运行下面一段宏:
Sub test()
su = 1
For a = 1 To 8
For b = 1 To 8
If b <> a Then
For c = 1 To 8
If c <> a And c <> b Then
For d = 1 To 8
If d <> a And d <> b And d <> c Then
For e = 1 To 8
If e <> a And e <> b And e <> c And e <> d Then
For f = 1 To 8
If f <> a And f <> b And f <> c And f <> d And f <> e Then
For g = 1 To 8
If g <> a And g <> b And g <> c And g <> d And g <> e And g <> f Then
For h = 1 To 8
If h <> a And h <> b And h <> c And h <> d And h <> e And h <> f And h <> g Then
Worksheets("Sheet3").Range("C" & su).Value = a & b & c & d & e & f & g & h
su = su + 1
End If
Next
End If
Next
End If
Next
End If
Next
End If
Next
End If
Next
End If
Next
Next
End Sub