Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 基于邮政编码确定USPS邮政区的公式_Excel_Excel Formula_Excel 2007_Vlookup_Zipcode - Fatal编程技术网

Excel 基于邮政编码确定USPS邮政区的公式

Excel 基于邮政编码确定USPS邮政区的公式,excel,excel-formula,excel-2007,vlookup,zipcode,Excel,Excel Formula,Excel 2007,Vlookup,Zipcode,我希望通过USPS邮政区更方便地分拣数百封信封。困难在于必须根据原始邮政编码为8个美国地区中的每个地区手动排序:91352 我有一个包含ZIP列的联系人电子表格。我已经在“913”的基础上建立了一个单独的USPS ZoneCharts网站,并将四个部分合并为一个部分(共两列)。然后,我使用LEFT和RIGHT函数获取第一列的前三个和后三个数字,并将它们放入各自的列中(现在总共三列): ZIP_BEG ZIP_端区 005 098 8 100 212 8

我希望通过USPS邮政区更方便地分拣数百封信封。困难在于必须根据原始邮政编码为8个美国地区中的每个地区手动排序:
91352

我有一个包含ZIP列的联系人电子表格。我已经在“913”的基础上建立了一个单独的USPS ZoneCharts网站,并将四个部分合并为一个部分(共两列)。然后,我使用LEFT和RIGHT函数获取第一列的前三个和后三个数字,并将它们放入各自的列中(现在总共三列):

ZIP_BEG ZIP_端区 005 098 8 100 212 8 214 268 8 270 342 8 344 344 8 346 347 8 349 349 8 350 352 7 354 359 7 360 361 8 362 362 7 363 364 8 365 366 7 等 我是否会使用联系人列表中的VLOOKUP函数搜索每个ZIP(使用左函数仅使用每个ZIP值的前三个数字),然后检查该值是否大于ZIP_BEG值且小于ZIP_END值


无论它匹配哪一行,它都将返回区域值。我将此列放在第一页的ZIP列之后。

将所有可能的邮政编码分开似乎是可行的,但可能会“过度使用”(尽管可能有助于检测错误)。我假设不在上述范围内的代码(a)无效,但(b)不需要以任何方式标记,因此,例如
099
在实践中不会出现(除非表格更新),或者可以“安全地”视为
098

<>这是为了考虑每个带(在区域更改之前)只能考虑一个值,方便您的<代码> ZIPBE-BEG < /代码>,结合<强>不精确的VLoopUp>强>。的语法为:

VLOOKUP(查找值、表数组、列索引数、范围查找)

其中第四个参数(范围查找)是可选的。忘记它或错误地将其设置为TRUE(或
1
)会引起很多悲伤,但在这里可能非常合适

引述:

如果为TRUE或省略,则返回精确或近似匹配。如果未找到精确匹配,则返回小于查找值的下一个最大值。 表_数组第一列中的值必须按升序排序;否则,VLOOKUP可能无法给出正确的值

(它执行二进制搜索,因此需要知道哪个方向是多的,哪个方向是少的)。您的值应该已经按要求的顺序排列,因此可以使用如下公式:

=VLOOKUP(A2,ZIPUP,2)  
同一工作簿中的某个位置应该足够了,其中要查找的值(目标Zip的前三位数字)假定在A2中,
ZIPUP
是工作簿范围内的一列中的
Zip\u BEG
的名称,该列右侧的匹配行中的
Zone

鉴于初始假设,不需要整个
ZIP-BEG
列表(108'范围),因为仅使用限制,74就足够了(并且应该更快)


如果不以这种方式聚合波段,请注意格式设置,因为
005
5
不同,并且该区别与=VLOOKUP相关。您使用了=LEFT和=RIGHT来提取列表,这些文本函数返回字符串,尽管在这里我更喜欢自己设置数字格式。(我用文本将范围拆分为列。)

拆分每个可能的邮政编码似乎是可行的,但可能是“过度杀伤力”(尽管可能有助于检测错误)。我假设不在上述范围内的代码(a)无效,但(b)不需要以任何方式标记,因此,例如
099
在实践中不会出现(除非表格更新),或者可以“安全地”视为
098

<>这是为了考虑每个带(在区域更改之前)只能考虑一个值,方便您的<代码> ZIPBE-BEG < /代码>,结合<强>不精确的VLoopUp>强>。的语法为:

VLOOKUP(查找值、表数组、列索引数、范围查找)

其中第四个参数(范围查找)是可选的。忘记它或错误地将其设置为TRUE(或
1
)会引起很多悲伤,但在这里可能非常合适

引述:

如果为TRUE或省略,则返回精确或近似匹配。如果未找到精确匹配,则返回小于查找值的下一个最大值。 表_数组第一列中的值必须按升序排序;否则,VLOOKUP可能无法给出正确的值

(它执行二进制搜索,因此需要知道哪个方向是多的,哪个方向是少的)。您的值应该已经按要求的顺序排列,因此可以使用如下公式:

=VLOOKUP(A2,ZIPUP,2)  
同一工作簿中的某个位置应该足够了,其中要查找的值(目标Zip的前三位数字)假定在A2中,
ZIPUP
是工作簿范围内的一列中的
Zip\u BEG
的名称,该列右侧的匹配行中的
Zone

鉴于初始假设,不需要整个
ZIP-BEG
列表(108'范围),因为仅使用限制,74就足够了(并且应该更快)


如果不以这种方式聚合波段,请注意格式设置,因为
005
5
不同,并且该区别与=VLOOKUP相关。您使用了=LEFT和=RIGHT来提取列表,这些文本函数返回字符串,尽管在这里我更喜欢自己设置数字格式。(我用文本将范围拆分为列。)

听起来你已经把所有问题都解决了。你的问题是什么?