Нужна формула рабочего листа, чтобы определить, следует ли игнорировать разделитель в ячейке среди всех остальных - PullRequest
0 голосов
/ 16 июня 2019

Мне нужно проанализировать строку в ячейке, где есть несколько разделителей, и мне нужно выяснить, следует ли игнорировать один из них.

Некоторые разделители в некоторой точке строки должны бытьпропущен, и эта часть строки не должна быть проанализирована.Например, если у меня есть строка

123, Main, Street, Apt ABC, New York, NY, 12345,6789, USA.

Это похоже на адрес.Если я использую разделитель ",", то # и название улицы будут отделены друг от друга, но они должны быть вместе, а почтовый индекс будет разделен на две части, но они должны остаться вместе, а "," должно бытьизменилось на "-" Как мне написать функцию листа, которая бы превратила этот конкретный ',' в тире, а не в другие разделители?

В настоящее время я делаю две операции для почтового индекса: анализ и затемобъединяйте, предпочитайте делать одно, если это возможно!

Аналогично, если я использую текст в столбцы, и у меня есть эта строка:

123 Main Street Apt ABC Нью-Йорк NY 12345-6789 США

Если я использую «Пробел» в качестве разделителя, то Нью-Йорк и Йорк будут разделены.Я не могу использовать фиксированную длину, потому что строки имеют разную длину.

У меня есть много случаев, которые похожи на эти два примера.И я озадачен тем, как починить часть города.Если не считать списка названий городов из двух слов, я не уверен, как это можно сделать, если вообще.

Спасибо за любые творческие идеи.И если это невозможно, я приму это и сделаю это вручную.

1 Ответ

0 голосов
/ 16 июня 2019

К сожалению, программно с помощью встроенной функции Excel или макроса не будет никакой разницы между запятыми.

Уникально, если вы можете сосчитать и сказать, что требуется только конкретная, скажем, нужна 4-я запятая и 5-я, 6-я запятая, тогда 7-я должна быть тире.Это можно запрограммировать в макрос, который это сделает.Но если вы не можете быть уникальными в отношении количества разделителей, нужны только пронумерованные X и Y, будет трудно сделать это с любой функцией или кодом VBA.

Если вы можете использовать уникальную нумерацию, то это возможно, в противном случае это нужно будет сделать вручную.

...