在 Excel 中拆分地址、城市、州和邮政编码,缺少分隔符
我有一个 Excel 电子表格,其中包含打包在单个单元格中的整个地址,没有分隔符。地址如下所示:
2701 NW 64TH TER MARGATE FL 33063-1703
901 NE 8 ST HALLANDALE BEACH FL 33009-2626
1840 DEWEY ST UNIT 305 HOLLYWOOD FL 33020
3049 NE 4 AVE WILTON MANORS FL 33334-2047
650 NE 56 CT OAKLAND PARK FL 33334-3528
因此,A 列中的前五个单元格将包含上述地址。
正如您所看到的,某些城市由两个单词组成,但州始终是 FL 或 NY。我所需要做的就是将地址、城市、州和邮政编码分隔在各自的列中。我希望有一种方法可以在 Excel 中的 VBD(Visual Basic for Developers)中执行此操作。所以我可以把它放入宏中。
我知道如何做到这一点,但我的 VBD 是有限的:
stateArray = Split("FL, NY")
cityArray = Split("Fort Lauderdale","Sunrise","Oakland Park")
例如,另一种编程语言你可能会做这样的事情:
var arrStates, arrCities
arrCities = ["Fort Lauderdale", "Sunrise", "Oakland Park"]
arrStates = ["FL", "NY"]
var findAddress = function(curCity, curState){
for(var i=0; i < arrCities.length; i < arrStates.length; i--){
(arrCities[i] == curCity) ? arrCities[i] = CurCity : arrCities[i] = null;
(arrStates[i] == curState) ? arrStates[i] = curState : arrStates[i] = null;
}
if(arrCities[i] >= 0){
var city = arrCities[i];
}
if(arrStates[i] >= 0){
var state = arrStates[i];
}
createTable(city, state);
}
var createTable = function(city, state){
var tbl = document.createElement("Table");
var newRow = document.createElement("tr");
tbl.appendChild(newRow);
cols = [city, state];
for(var i=0; i < cols.length; i++){
var newCol = document.createElement("td");
newCol.innerText = cols[i];
newRow.appendChild(newCol);
}
}
感谢您的任何回复。
I have an excel spreadsheet that contains entire addresses packed in a single cell without delimiters. The addresses look like this:
2701 NW 64TH TER MARGATE FL 33063-1703
901 NE 8 ST HALLANDALE BEACH FL 33009-2626
1840 DEWEY ST UNIT 305 HOLLYWOOD FL 33020
3049 NE 4 AVE WILTON MANORS FL 33334-2047
650 NE 56 CT OAKLAND PARK FL 33334-3528
So the first five cells in column A would contain the above addresses.
As you can see, some of the cities consist of two words but the state is always FL or NY. All I need to do is separate the address, city, state, and zip in their own columns. I'm hoping there's a way to do this in VBD (Visual Basic for Developers) in excel. So I can put it into a macro.
I have an idea of how it can be done, but my VBD is limited:
stateArray = Split("FL, NY")
cityArray = Split("Fort Lauderdale","Sunrise","Oakland Park")
For example, another programming language you might do something like this:
var arrStates, arrCities
arrCities = ["Fort Lauderdale", "Sunrise", "Oakland Park"]
arrStates = ["FL", "NY"]
var findAddress = function(curCity, curState){
for(var i=0; i < arrCities.length; i < arrStates.length; i--){
(arrCities[i] == curCity) ? arrCities[i] = CurCity : arrCities[i] = null;
(arrStates[i] == curState) ? arrStates[i] = curState : arrStates[i] = null;
}
if(arrCities[i] >= 0){
var city = arrCities[i];
}
if(arrStates[i] >= 0){
var state = arrStates[i];
}
createTable(city, state);
}
var createTable = function(city, state){
var tbl = document.createElement("Table");
var newRow = document.createElement("tr");
tbl.appendChild(newRow);
cols = [city, state];
for(var i=0; i < cols.length; i++){
var newCol = document.createElement("td");
newCol.innerText = cols[i];
newRow.appendChild(newCol);
}
}
Thanks for any response.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
看来,如果您必须输入所有城市,您不妨手动拆分所有单元格。识别所有街道类型并将其用作分隔符可能会更容易。请注意数组中字符串周围的空格。
It seems that if you have to type out all the cities, you might as well just split all the cells manually. It may be easier to identify all the street types and use that as a delimiter. Note the spaces around the strings in the array.
在这种情况下,我会尝试忘记我正在编程,而只是想想我会使用什么样的思维过程来弄清楚每个过程通常是什么。
乍一看,事情可能看起来很忙碌,但如果你仔细观察,就会发现其中的规律。
这使得模式如下:
使用字符串函数从临时字符串变量中剥离每个部分,您应该能够相当轻松地重建它。
希望有帮助。
In situations like this I try to forget that I'm programming, and just think about what sort of thought processes I would use to figure out what each was normally.
At 1st things may seem hectic, but if you look closer there are patterns.
This makes the pattern as follows
Strip each piece off of a temporary string variable using string functions and you should be able to rebuild it fairly easily.
Hope that helps.
以下是一些帮助您入门的 VBA 代码:您需要添加错误处理
Here is some VBA code to get you started: you would need to add error handling