我有一个排行榜风格的电子表格,用于完成某人所完成的每项任务:
- 他们在其中一列(E,F,G,H,I,J,K,L列)中得到一个点,
- 该点乘以列值(第2行 - E2,F2,G2,H2,I2,J2,K2,L2值),
- 以及所有这些的总和等于用户得分
适用于第5行用户:
= SUM(E5 * E2 + F5 * F2 + G5 * G2 + H5 * H2 + I5 * I2 + J5 * J2 + K5 * K2 + L5 * L2)
适用于第6行用户:
= SUM(E6 * E2 + F6 * F2 + G6 * G2 + H6 * H2 + I6 * I2 + J6 * J2 + K6 * K2 + L6 * L2)
更好的方法是什么,因为我需要添加新列(值得点的东西)和新用户 - 我认为必须有更好的方法来手动编写每一个。现在有超过60个用户,超过15个点机会并且还在增长。
例:
| User | Total Score | task1 | task2 | task3 | task4 | task5 | task6 |
| Point Value | | 2 | 3 | 5 | 1 | 0.5 | 9 |
| User5 | 12 | 1 | 0 | 2 | 0 | 0 | 0 |
| User6 | 6.5 | 0 | 0 | 1 | 0 | 3 | 0 |
答案 0 :(得分:2)
使用SUMPRODUCT()
=SUMPRODUCT($E$2:$L$2,$E5:$L5)
答案 1 :(得分:1)
擦除B:B列(总点数列):
B3:
<?php require_once __DIR__ . '/vendor/autoload.php';
putenv('GOOGLE_APPLICATION_CREDENTIALS=****/client_secret.json');
$user_to_impersonate = 'user@****.com';
$user_scopes = array(
Google_Service_Calendar::CALENDAR
);
$client = new Google_Client();
$client->useApplicationDefaultCredentials();
$client->setSubject($user_to_impersonate);
$client->setScopes($user_scopes);
$client->setAccessType('offline');
$calendar = new Google_Service_Calendar($client);
$calendarId = 'primary';
$optParams = array(
'maxResults' => 10,
'orderBy' => 'startTime',
'singleEvents' => TRUE,
'timeMin' => date('c'),
);
$results = $calendar->events->listEvents($calendarId, $optParams);
...
?>