Как получить разницу между 2 клетками

238
panther

У меня есть файл Excel, как показано ниже.

  • Значение в столбце C должно быть разницей между A и B (A всегда длиннее, B всегда является подстрокой A).

  • Если оба значения в A и B одинаковы, C будет пустым.

  • В C подстрока (из ячейки B) должна быть заменена пробелом.

Пример данных файла Excel:

 A | B | C example | mpl | exa e example | example | (nothing, or ' ', doens't matter) example | | example example | exam | ple (or ' ple', doesn't matter) example | mple | exa (or 'exa ', doesn't matter) e x a m p | x a | e m p (or 'e m p') two words ex | o words e | tw x (or 'tw x') two words ex. | word | two s ex. (or 'two s ex.') 

Файл Excel имеет около 5000 строк, и я не хочу делать различий вручную.

Спасибо
П.

0

1 ответ на вопрос

2
Máté Juhász

Use SUBSTITUTE:

=IFERROR(SUBSTITUTE(A2,B2," "),A2)

(IFERROR is to manage situations when text from column B can't be found in column A text)

Это предполагает, что это всегда будет единственная точная подстрока (как показывают примерные данные, поэтому справедливое предположение :)) Jonno 8 лет назад 0
да, я предположил это на основе данных примера :) Máté Juhász 8 лет назад 0
@ MátéJuhász, спасибо за решение, но оно не работает (я могу показать краткие примеры данных). Строка в A и B состоит из нескольких слов, извините, я не говорил вам это раньше. Я обновляю свой вопрос через мгновение. panther 8 лет назад 0
@ MátéJuhász: отредактировал пример кода, надеюсь, это будет просто краткое обновление в вашем ответе :-) panther 8 лет назад 0
Тем не менее, в ваших примерах вы заменяете подстроки (независимо от того, являются ли они многословными или нет, имеет значение только то, находятся ли они в точном порядке в исходной строке), я проверил, и это работает. Пожалуйста, проверьте мою формулу на вашем примере. Если это все еще не работает с вашими реальными данными, пожалуйста, опубликуйте больше примеров. Máté Juhász 8 лет назад 0
@ MátéJuhász: хм, я попробовал это на моих данных, и это работает в несколько строк. Теперь я вижу, что дал вам неверный набор данных (извините, моя ошибка, я вижу только несколько первых строк в моем Excel), отдельные слова в столбце B могут быть откуда-то из A ... `A: первая вторая третья четвертая`, `B: первый четвертый` =>` C: второй третий`. И A, и B содержат больше слов, и теперь я вижу, что могу переформулировать это как «заменить все слова из столбца B на пробелы и вернуть остаток от A в C». Ваше решение выше работает, давая вам +1, но, пожалуйста, если вы знаете, как его редактировать, это будет здорово! panther 8 лет назад 0