#excel #string #search #excel-formula #substring
Вопрос:
У меня есть список из 3 подстрок. «Яблоко», «Банан», «Апельсин» Я хотел бы знать, содержит ли ячейка A2 только один из них ровно один раз. Это означает, что если у меня есть «Яблоко», я не могу снова иметь другое «Яблоко» или одну из других подстрок в A2.
Любая помощь будет очень признательна.
Комментарии:
1. Я отредактировал свой вопрос с изображением того, чего я пытаюсь достичь в колонке B
2. Возможно, используя формулу, подобную:
=COUNT(1/(((LEN(A1)-LEN(SUBSTITUTE(A1,{"Apple","Banana","Orange"},""))))=LEN({"Apple","Banana","Orange"})))=1
3. Привет, это сработало для меня, очень просто.
Ответ №1:
Похоже, что эти подстроки являются подкаталогами в пути. Для этого вы могли бы попробовать:
=SUMPRODUCT(--(FILTERXML("<t><s>"amp;SUBSTITUTE(A2,"/","</s><s>")amp;"</s></t>","//s")={"Apple","Banana","Orange"}))=1
Комментарии:
1. Это предполагает, что строка в A2 содержит ровно два символа»/». В противном случае SUMPRODUCT попытается сравнить горизонтальный массив из 3 записей с одним, содержащим какое-то другое количество записей, и поэтому произойдет ошибка.
2. @JosWoolley, я сделал предположение, что мы говорим здесь о подкаталогах. Таким образом, это не корень и не имя файла, и поэтому в соответствии с определением будет две косые черты. Кстати, не должно быть никакой ошибки, а скорее «0», если совпадений не происходит. Если это не так, это означает, что я снова перепутал синтаксис массива, и точки с запятой придется заменить запятыми.
3. А, теперь я понимаю. Да, в моей версии точка с запятой используется в качестве вертикального разделителя, отсюда и ошибки. Возможно, вам следует уточнить, что вы намереваетесь, чтобы плоды содержались в горизонтальном массиве?
4. В этом случае я знаю, что мне следует добавить запятую вместо точки с запятой, чтобы большинство посетителей знали, что им следует выбрать =)
5. @Рори, 1-й из я не пытался сделать ваше предложение, но не будет ли оно считаться ложноположительным, например, при замене яблока в яблоках. Любая строка, содержащая одну из трех подстрок, может быть потенциально ложноположительной.