#excel
#excel
Вопрос:
Текущий входной файл имеет следующий формат
20934 drinks.txt
20934 latte.txt
20934 flatwhite.txt
20934 expresso.txt
20934
20935 drinks.txt
20935 latte.txt
20935 flatwhite.txt
20935
20936 drinks.txt
20936 latte.txt
20936 flatwhite.txt
20936
Требование состоит в том, чтобы удалить строки, которые не имеют второго значения
т.е. удалить строку 20934 20935 20936..
поскольку эти строки имеют только 1 значение. Конечный вывод должен быть таким
20934 drinks.txt
20934 latte.txt
20934 flatwhite.txt
20934 expresso.txt
20935 drinks.txt
20935 latte.txt
20935 flatwhite.txt
20936 drinks.txt
20936 latte.txt
20936 flatwhite.txt
Комментарии:
1. Какую версию Excel вы используете?
2. Формула / vba не требуется. Просто отфильтруйте
Text Filter - Contains
и используйтеSpace
в качестве cirteria, а затем удалите выбранные строки?3. Часть
excel/notepad
довольно запутанная. Пожалуйста, уточните, хотите ли вы записать нужные данные из текстового файла вExcel
диапазон столбцов или изExcel
диапазона столбцов в текстовый файл, или если вам требуется что-то еще.
Ответ №1:
С ExcelO365помощью приведенной ниже формулы вы можете попробовать FILTER()
.
=FILTER(A:A,RIGHT(A:A,4)=".txt")
Комментарии:
1. Даже это решение работало без проблем. Я поддерживаю это решение, но не голосую из-за небольшой репутации 🙂 Спасибо
Ответ №2:
Я предполагаю, что два поля всегда разделены пробелом. Если у вас есть Office 365, вы можете использовать приведенную ниже формулу:
=FILTER(A1:A13,ISNUMBER(SEARCH(" ",A1:A13,1)))
Если у вас нет Office 365, вы можете попробовать приведенную ниже формулу массива, которую необходимо ввестиCTRLSHIFTENTER, одновременно нажав . Если все сделано правильно, Excel заключит его в фигурные скобки {}.
=INDEX(A:A,SMALL(IF(ISNUMBER(SEARCH(" ",A:A,1)),ROW(A:A),10^15),ROWS($A$1:A1)))
Комментарии:
1. Я попробовал это решение, и оно сработало. Что означает 10 ^ 15?
2. @Amelia, это число, которое больше, чем количество строк в Excel. В принципе, можно легко использовать 10 ^ 7 вместо 10 ^ 15. После исчерпания допустимых данных это приведет к ошибке и, следовательно, к остановке. Вы можете обернуть его в IFERROR, например
IFERROR(abovepostedformula,"")
, если вы не хотите, чтобы ячейки отображали ошибки.