工具/材料:电脑,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随机排座位号码不要重复的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)