Вопрос № 105914: Добрый день уважаемые эксперты! Подскажите как мне в файле Excel из колонки, где такие данные (число)текст, сделать две колонки следующие: число текст....
..
Вопрос № 105.914
Добрый день уважаемые эксперты! Подскажите как мне в файле Excel из колонки, где такие данные (число)текст, сделать две колонки следующие: число текст....
Отвечает: Alexander N. Monastyrsky
Здравствуйте, Чернов С.В.!
Это несложно.
А1 - число
В1 - текст
В ячейку С1 добавляем формулу "=СЦЕПИТЬ(A1;" ";B1)"
функция "сцепить" позволяет соединить до 30 возможных выражений.
Выражения вставляются в !текстовом! виде.
Тоесть чтобы добавить выражение чистовое или дату, то для правильного отображдения нужно преобразовать выражение в текст.
Приложение:
--------- Страшен Русский сервис, бессмысленный и беспощадный...
Ответ отправил: Alexander N. Monastyrsky (статус: 2-ой класс)
Ответ отправлен: 18.10.2007, 11:49 Оценка за ответ: 5 Комментарий оценки: (число)текст - это в одной колонке так) но все равно спасибо
Отвечает: Genyaa
Здравствуйте, Чернов С.В.!
Посмотрите Меню-Данные-Текст по столбцам...
--------- Всякое решение плодит новые проблемы.
Ответ отправил: Genyaa (статус: Студент)
Ответ отправлен: 18.10.2007, 12:25
Отвечает: Филатов Евгений Геннадьевич
Здравствуйте, Чернов С.В.!
Может я не так понял вопрос, но Вы указали, что данные находятся в одной колонке в виде "(число)текст" , например в ячейке A1 находится строка "(123.45)privet".
В таков случае для разделения может помочь две формулы :
ячейка B1 "=ПСТР(A1;2;ПОИСК(")";A1;1)-2)"
ячейка C1 "=ПСТР(A1;ПОИСК(")";A1;1)+1;ДЛСТР(A1))"
Производится поиск закрывающей скобки в тексте ячейки и строка делится по этому символу.
Во второй формуле вместо "ДЛСТР(A1)" корректней было бы написать "ДЛСТР(A1)-ПОИСК(")";A1;1)" , но т.к. строка берется до конца, то в случае превышения количества символов, которые нужно выделить, над общей длиной строки берется фактическое их количества без вывода ошибки. В данном примере берется текст начиная с 10 позиции в количестве 15 символов - с 10 по 24 символ, что больше реальной длины строки в 15 символов.
С уважением.
Ответ отправил: Филатов Евгений Геннадьевич (статус: 8-ой класс)
Ответ отправлен: 18.10.2007, 15:38 Оценка за ответ: 5 Комментарий оценки: Да именно то, что надо.... спасибо
Отвечает: Caspian
Здравствуйте, Чернов С.В.! Число в исходном столбце у Вас на самом деле в скобках, или там только пробел? Если только пробел, предлагаю формылы. "=ЗНАЧЕН(ЛЕВСИМВ(A1;ПОИСК(" ";A1)-1))" - это для числа. "=ПСТР(A1;ПОИСК(" ";A1)+1;10000)" - для текста. Если же число в скобках, то перед использованием "ЗНАЧЕН" нужно их убрать с помощью "ПОДСТАВИТЬ" (если не знаете как, напишите в личку или в комментарии к ответу).
Ответ отправил: Caspian (статус: 1-ый класс)
Ответ отправлен: 18.10.2007, 16:21 Оценка за ответ: 5
Отвечает: Черников Игорь Владимирович
Здравствуйте, Чернов С.В.!
Do
chetchik = chetchik + 1
znachenie = Worksheets("Лист1").Range("A" & chetchik).Value
If chetchik = "" Then Exit Do
chislo = Val(znachenie)
Text = Mid(znachenie, Len(chislo) + 1)
Worksheets("Лист1").Range("B" & chetchik).Value = chislo
Worksheets("Лист1").Range("C" & chetchik).Value = Text
Loop
--------- От каждого по способностям, каждому по труду
Ответ отправил: Черников Игорь Владимирович (статус: 6-ой класс)
Ответ отправлен: 18.10.2007, 17:23 Оценка за ответ: 5 Комментарий оценки: Супер, макросом даже лучше)
Отвечает: Архипов Александр Леонидович
Здравствуйте, Чернов С.В.!
Если формат в ячейке действительно (число)текст , то можно и без VBA.
В первой колонке (там где должны появиться число) формула:
=ЗНАЧЕН(ПСТР(A1;НАЙТИ("(";A1)+1;НАЙТИ(")";A1)-2))
Во второй колонке (там где должен остаться текст) формула:
=СЖПРОБЕЛЫ(ПСТР(A1;НАЙТИ(")";A1)+1;ДЛСТР(A1)-НАЙТИ(")";A1)))