乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > excel可以对数组进行排序吗

excel可以对数组进行排序吗

作者:乔山办公网日期:

返回目录:excel表格制作


#define N 5
main( )
{
int a[N],i,temp;
printf("Enter array a:\n");
for (i=0;i<N;i++) /*读入a[0]---a[4]的值zhidao*/
scanf("%d",&a[i]);
printf("array a:\n");
for (i=0;i<N;i++) /*输出a[0]---a[4]的值*/
printf("%5d",a[i]);
for (i=0;i<N/2;i++)/*对数组前一半元素,与后一半相应位置上的元素调换*/
{
temp=a[i];
a[i]=a[N-i-1];
a[N-i-1]=temp;
}
printf("\n Now,array a:\n");
for (i=0;i<N;i++) /*输出逆序存放后的值*/
printf("%5d",a[i]);
printf("\n");
}
运行情况下:
Enter array a:
8 6 5 4 1↙
array a:
8 6 5 4 1
Now,array a:
1 4 5 6 8

假设你原来的数组是arr,值zd是:={1,"",9,"",8,5,7},如下图

新定义一个名称Sort_arr

=SMALL(arr,ROW(INDIRECT("1:"&COUNT(arr))))

这个结果就是新的内存数组,选择A1:A5,输入=Sort_arr,按Ctrl+Shift+Enter,结果如下图

知识扩展:

1、如果你需要的排序结果不必是内存数组,可以直接在单元格B1中输入公式,并下拉复制

=IFERROR(SMALL(arr,ROW()),"")

2、如果需要的是降序排列的数组,把公式中的SMALL改为LARGE就可以了。


设数据在A列,在B1输入1,在B2输入2,选中B1和B2向下拉到最后一个数据行成自然数序,再选中A、B列,以B列按降序排列,最后删除B列可达到你的要求。

肯定有。上传带行列号的有数据示例的表格截图,清楚说明已知条件,达成什么样的结果,才能有针对性地给你准确的答案。

相关阅读

关键词不能为空
极力推荐

聚合标签

ppt怎么做_excel表格制作_office365_word文档_365办公网