EXCEL利用数组公式实现横向、纵向定位分类汇总

EXCEL利用数组公式实现横向、纵向定位分类汇总

第一个“人员机台操作时长记录表”表是每个人、每天操作机台(比如RD-202301)所用时间,一天为单位每个表记录一个月。
在这里插入图片描述
第二个“人员机台操作时长汇总表”,根据第一个表汇总每月每人所操作各个机台的时长总数。
在这里插入图片描述
利用函数SUMPRODUCT、OFFSET、MATCH等函数,和快捷键Shift + Ctrl + Enter生成数组公式,实现了以上功能。

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用数组实现汉诺塔移动过程的C++代码,包括横向纵向显示移动过程: ```c++ #include <iostream> using namespace std; const int MAXN = 100; int n; // 汉诺塔的层数 char a[MAXN], b[MAXN], c[MAXN]; // a,b,c三个塔 int cnt = 0; // 移动次数 // 将第n个盘子从a柱移动到c柱 void move(char a[], char b[], char c[], int n) { if (n == 1) { // 只有一个盘子,直接移动 cnt++; c[++c[0]] = a[a[0]--]; // 横向显示 cout << "Move " << cnt << ": "; for (int i = 1; i <= n; i++) { cout << a[i] << " "; } cout << "-> "; for (int i = 1; i <= n; i++) { cout << c[i] << " "; } cout << endl; // 纵向显示 for (int i = n; i >= 1; i--) { for (int j = 1; j <= 3; j++) { if (a[i] == 'A' && j == 1) { cout << " " << a[i] << " "; } else if (b[i] == 'B' && j == 2) { cout << " " << b[i] << " "; } else if (c[i] == 'C' && j == 3) { cout << " " << c[i] << " "; } else { cout << " "; } } cout << endl; } cout << endl; } else { // 先将n-1个盘子从a柱移动到b柱 move(a, c, b, n - 1); // 再将第n个盘子从a柱移动到c柱 move(a, b, c, 1); // 最后将n-1个盘子从b柱移动到c柱 move(b, a, c, n - 1); } } int main() { // 输入汉诺塔层数 cout << "Please input the number of disks:"; cin >> n; // 初始化汉诺塔 a[0] = n; for (int i = 1; i <= n; i++) { a[i] = 'A'; b[i] = 'B'; c[i] = 'C'; } // 显示初始状态 cout << "Initial State:" << endl; for (int i = n; i >= 1; i--) { for (int j = 1; j <= 3; j++) { if (a[i] == 'A' && j == 1) { cout << " " << a[i] << " "; } else if (b[i] == 'B' && j == 2) { cout << " " << b[i] << " "; } else if (c[i] == 'C' && j == 3) { cout << " " << c[i] << " "; } else { cout << " "; } } cout << endl; } cout << endl; // 开始移动汉诺塔 move(a, b, c, n); // 显示移动次数 cout << "Total moves: " << cnt << endl; return 0; } ``` 在横向显示移动过程时,每次移动一个盘子后,都会显示当前三个塔的状态。 在纵向显示移动过程时,每次移动一个盘子后,都会显示当前三个塔的状态,其中用空格表示该位置没有盘子,用字母A、B、C表示该位置有盘子,字母的大小表示盘子的大小。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值