怎么用EXCEL编排考场和考号

怎么用EXCEL编排考场和考号,第1张

工具/材料:电脑,excel

1打开excel,打乱原有排序,可以在辅助列中利用rand函数生成0-1中的任意数,之后按照辅助列排序。

2安排考点:考点安排比如一个考点26个人(模拟数据5个人)。就是要连续生成26个1,20个2,依次类推,可以利用int(row()/26)+1公式生成。

3座位号:座位号是重复生成连续的数列,1,2,3,4,5……;1,2,3,4,5……;可以利用求余函数mod实现。

一般来说,这个是宽体客机,而且是双排的那种,按照飞机型号不一样,会有不一样的。

普通的中间4个位子的话,这个是靠窗的位置。

国内飞机舱主要分为头等舱(FirstClass)、商务舱(BussinessClass)、经济舱(EconomyClassorCoach)。通常价格以头等舱最高,其次商务舱,最低为经济舱。

飞机安排座位时是分舱位的,而不同的舱位对应的机票折扣不同,价格不同所得到的服务也不一样。平时订机票航空公司也会有不同的舱位。

客舱座位排数及座位号的编排规则:

1、客舱座位排数编排规则:

1)头等舱:1-10排;

2)公务舱:11-30排(不含13、14排);

3)普通经济舱:31排--最后一排。

2、客舱座位号编排规则:从字母A开始依次编排(跳过字母I)

1)窄体机:左ABC-右HIJ;A、J为靠窗,C、H为靠走道座位。

如图展示了一份学员明细表,基础数据为C1:D21区域。下面利用RAND函数结合RANK函数实现座位的随机编排。

此应用考虑到学员在考场中的随机分布,可以利用辅助区域来协助处理。

1在学号列前插入两列辅助列。

2在B列使用RAND函数产生0-1之间的任意随机数,B1:B21公式为:

=RAND()

3由于RAND函数产生的随机值不会重复,因此在A列中借助RANK函数来对其进行排名,即可得出各学员的座位号的随机排位,从而达到目的。如A2的公式如下:

=RANK(B2,$B$2:$B$21)

4最后利用查找函数将各学员放置到F2:I6的考生结构表中,F2:I6多单元格数组公式如下:

{=VLOOKUP({1;5;9;13;17}+{0,1,2,3},$A:$D,3,)&" "&VLOOKUP({1;5;9;13;17}+{0,1,2,3},$A:$D,4,)}

#include <cstdlib>

#include <fstream>

using namespace std;

ifstream fin("seatin");

ofstream fout("seatout");

int main(int argc, char argv[])

{

int y[1010] , x[1010] , w[1010];

int m , n , k , l , d;

int x1 , y1 , x2 , y2;

int i , j;

fin >> m >> n >> k >> l >> d;

for (i = 1; i <= m; i++)

y[i]=0;

for (i = 1; i <= n; i++)

x[i]=0;

for (i = 0; i < d; i++)

{

fin >> y1 >> x1 >> y2 >> x2;

if (x1 == x2)

{

if (y1 > y2)

swap(y1 , y2);

y[y1]++;

}

else

if (y1 == y2)

{

if (x1 > x2)

swap(x1 , x2);

x[x1]++;

}

}

//y

for (i = 0; i <= m;i++)

w[i] = i;

for (i = 1; i < m;i++)

for (j = i + 1;j <= m;j++)

if (y[i] < y[j])

{

swap(y[i] , y[j]);

swap(w[i] , w[j]);

}

for (i = 1; i < k;i++)

for (j = i + 1;j <= k;j++)

if (w[i] > w[j])

swap(w[i] , w[j]);

fout << w[1];

for (i = 2;i <= k;i++)

fout << " " << w[i];

fout << endl;

//x

for (i = 0; i <= n;i++)

w[i] = i;

for (i = 1; i < n;i++)

for (j = i + 1;j <= n;j++)

if (x[i] < x[j])

{

swap(x[i] , x[j]);

swap(w[i] , w[j]);

}

for (i = 1; i < l;i++)

for (j = i + 1;j <= l;j++)

if (w[i] > w[j])

swap(w[i] , w[j]);

fout << w[1];

for (i = 2;i <= l;i++)

fout << " " << w[i];

fout << endl;

return EXIT_SUCCESS;

}

双击按钮,写入以下代码,有问题Q这个群找我——84253041

'代码开始===========================================================

Dim RndNumber, TempArray(29), i As Integer

Dim rng, rng1 As Range

Set rng = Sheets("学生名单")Range("A2:A31") '学生名单区域,30名同学

Set rng1 = Range("B4:F9") '座位区域,30个座位

For i = 0 To 29

TempArray(i) = i

Next

For i = 29 To 0 Step -1

RndNumber = Int(i Rnd)

rng1(30 - i) = rng(TempArray(RndNumber) + 1)

TempArray(RndNumber) = TempArray(i)

Next

'代码结束===========================================================

以上就是关于怎么用EXCEL编排考场和考号全部的内容,包括:怎么用EXCEL编排考场和考号、飞机h是什么座位位置、用excel随机排座位号码不要重复的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10091848.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存