【发布时间】:2021-05-12 08:55:55
【问题描述】:
下表是我正在处理的 XLSX 中的前 29 行,其主要目的是计算导出呼叫数据的成本。
下表中的数据是来自 PowerShell 脚本的填充结果,该脚本将 CSV 中的费率数据(用于计算通话费用)与来自另一个 CSV 中客户每日通话统计数据的通话数据相结合。
费率数据:
列 F [目的地] 包含每个已知的国家代码。 E 列 [Rate] 包含 F 列中每个国家/地区代码的费率值,该值将用于计算最后的通话费用。
调用导出数据: C 列 [Callee Number] 包含被呼叫的原始电话号码(Callee)。 H 列 [Callee Country Code] 将 C 列中号码的前几位用于下一步。
坦率地说,我坚持的必要目标:
第 I 列是我正在处理的内容。
我需要一个公式来有效地在 H 列中查找拨打的国家/地区代码,并在 F 列中查找与它最相似的国家/地区代码(不需要准确)。一旦找到,我需要它返回同一行的 E 列 [Rate] 中的值。
然后应该用 C / H 列中数字的正确比率填充 I 列。
我试过的公式:
=INDEX($A$2:$K$100000,VLOOKUP(H2,$F$2:$F$100000,5,TRUE))
=INDEX($G$2:$G$100000,MATCH(H2,$F$2:$F$100000,0))
我不擅长使用 Excel,但我确信使用 100000 来选择整个列是不好的做法。
感谢您的帮助:)
| Start time | Customer | Callee Number | Country | Rate | Destination | Duration (Minutes) | Callee Country Code | Rate for call | Cost of call |
|---|---|---|---|---|---|---|---|---|---|
| 2020-09-01T07:25:30.5190000Z | Name1 | +44*** | AFGHANISTAN | 1.415 | 93 | 0 | 44 | ||
| 2020-09-01T08:05:52.6250000Z | Name2 | +442476****** | AFGHANISTAN | 1.415 | 9320 | 0.383333333 | 442 | ||
| 2020-09-01T08:33:49.6530000Z | Name3 | +441509****** | AFGHANISTAN | 1.415 | 9321 | 0.7 | 441 | ||
| 2020-09-01T08:35:18.5300000Z | Name4 | +441509****** | AFGHANISTAN | 1.415 | 9322 | 0.766666667 | 441 | ||
| 2020-09-01T08:43:45.3300000Z | Name5 | +447976****** | AFGHANISTAN | 1.415 | 9323 | 1.85 | 447 | ||
| 2020-09-01T08:47:29.9630000Z | Name6 | +442476****** | AFGHANISTAN | 1.415 | 9324 | 2.533333333 | 442 | ||
| 2020-09-01T08:57:43.2680000Z | Name7 | +447875****** | AFGHANISTAN | 1.415 | 9325 | 3.633333333 | 447 | ||
| 2020-09-01T09:04:42.8230000Z | Name8 | +441212****** | AFGHANISTAN | 1.415 | 9326 | 4.916666667 | 441 | ||
| 2020-09-01T09:15:32.7220000Z | Name9 | +441923****** | AFGHANISTAN | 1.415 | 9327 | 1.9 | 441 | ||
| 2020-09-01T09:30:36.4750000Z | Name10 | +441923****** | AFGHANISTAN | 1.415 | 9328 | 5.8 | 441 | ||
| 2020-09-01T09:58:12.8380000Z | Name11 | +442476****** | AFGHANISTAN | 1.415 | 9370 | 0.516666667 | 442 | ||
| 2020-09-01T10:03:04.1270000Z | Name12 | +442476****** | AFGHANISTAN | 1.415 | 9375 | 13.51666667 | 442 | ||
| 2020-09-01T10:27:49.6090000Z | Name13 | +442476****** | AFGHANISTAN | 1.415 | 9377 | 2.716666667 | 442 | ||
| 2020-09-01T11:04:21.7850000Z | Name14 | +442476****** | AFGHANISTAN | 1.415 | 9378 | 1.6 | 442 | ||
| 2020-09-01T11:13:31.9810000Z | Name15 | +442070****** | AFGHANISTAN | 1.415 | 9379 | 9.816666667 | 442 | ||
| 2020-09-01T11:46:53.4730000Z | Name16 | +442476****** | ALAND ISLANDS | 247 | 0.283333333 | 442 | |||
| 2020-09-01T11:47:14.9110000Z | Name17 | +442476****** | ALBANIA | 0.537 | 355 | 0.866666667 | 442 | ||
| 2020-09-01T12:30:38.4380000Z | Name18 | +442476****** | ALBANIA | 0.537 | 3554 | 0.25 | 442 | ||
| 2020-09-01T12:30:59.5190000Z | Name19 | +442476****** | ALBANIA | 0.537 | 35567 | 0.283333333 | 442 | ||
| 2020-09-01T12:31:34.3300000Z | Name20 | +442476****** | ALBANIA | 0.537 | 35568 | 0.283333333 | 442 | ||
| 2020-09-01T12:35:20.8430000Z | Name21 | +442476****** | ALBANIA | 0.537 | 35569 | 0.3 | 442 | ||
| 2020-09-01T12:37:36.5550000Z | Name22 | +442476****** | ALGERIA | 0.537 | 213 | 1.366666667 | 442 | ||
| 2020-09-01T12:42:07.9660000Z | Name23 | +447723****** | ALGERIA | 0.537 | 21321 | 1.466666667 | 447 | ||
| 2020-09-01T13:13:37.7610000Z | Name24 | +441926****** | ALGERIA | 0.537 | 21355 | 3.283333333 | 441 | ||
| 2020-09-01T13:44:57.3190000Z | Name25 | +442476****** | ALGERIA | 0.537 | 21356 | 0.15 | 442 | ||
| 2020-09-01T13:46:39.2640000Z | Name26 | +442476****** | ALGERIA | 0.537 | 21366 | 0.15 | 442 | ||
| 2020-09-01T13:58:14.1340000Z | Name27 | +442476****** | ALGERIA | 0.537 | 21369 | 6.2 | 442 | ||
| 2020-09-01T13:58:30.5560000Z | Name28 | +442476****** | ALGERIA | 0.537 | 21377 | 0.583333333 | 442 |
【问题讨论】:
-
起初我想制作一个唯一的被叫国家代码列表并索引它们的速率以将它们从小到大排序并查找最新匹配,因此无论位数多少都会匹配,但我注意到所有被叫国家代码在每个国家重复,因此不是唯一的。您能否更好地描述您根据哪些条件尝试检索的值?
标签: excel excel-formula