|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
04.12.2006, 12:28 | #1 |
Новичок
Джуниор
Регистрация: 04.12.2006
Сообщений: 1
|
Как произвести замену всех двузначных чисел на "00число которое заменено"
Такая вот задача непростая. Есть предположим ряд 22, 30, 48, 1, 354, 199. Необходимо, чтобы перед всеми двузначными числами в данном ряду подставились 2 нуля. То есть нужно преобразовать ряд в следующий: 0022,0030, 0048, 1, 354, 199.
Вручную это делать сложно когда в ряду несколько тысяч чисел. Очень большая просьба помочь если кто знает как сделать такую штуку!!! З.Ы. Возможно это можно сделать через: Правка=>Заменить, но как там тогда прописать в полях "найти" и "заменить" алгоритм замены не на какое то число, а конкретно на 00 и дальше именно то число, которое было заменено. Заранее спасибо! |
05.12.2006, 12:50 | #2 |
Форумчанин
Регистрация: 03.11.2006
Сообщений: 524
|
В принципе решить поставленную задачу можно, но здесь есть один нюанс ... Дело в том, что MS Excel не позволяет вводить лидирующие нули для числовых значений, поэтому, для того чтобы получить 0022 необходимо, либо ввести '0022 либо установить текстовый формат ячейки. Оба варианта приведут к тому, что подобные данные будут восприниматься как текст, т.е. Вы получите список, в котором будут наличествовать как числовые, так и текстовые значения, что не есть хорошо.
Поэтому, есть предложение : просто установить формат ячейки, при котором числовое значение 22 будет отображаться на экране как 0022 |
05.12.2006, 21:33 | #3 |
Пользователь
Регистрация: 05.12.2006
Сообщений: 23
|
Формула:
=ЕСЛИ(ДЛСТР(A1)=2;ТЕКСТ(A1;"0000"); ТЕКСТ(A1;"0")) проверяет количество цифр в числе A1, если оно равно двум, то формат текста "00число", иначе формат текста "число" |
05.12.2006, 23:02 | #4 |
Форумчанин
Регистрация: 03.11.2006
Сообщений: 524
|
Формула =ДЛСТР(A1)=2 определяет не количество цифр в числе, а количество символов в ячейке "A1", т.е. если ячейка содержит два символа, например ВЧ, то формула возвратит значение ИСТИНА. Впрочем, даже если предположить, что все ячейки содержат только числовые значения, то и в этом случае вышеопубликованная формула может возвратить некорректный результат, ибо число -5 также содержит всего два символа.
К тому же, вышеопубликованная формула возвращает текст, что не есть хорошо. Поэтому, в большинстве случаев, установка нужного формата (см. предыдущий пост) есть более правильный путь, ибо позволит в дальнейшем работать с числовыми данными, без дополнительных телодвижений и риска получить некорректный результат. |
05.12.2006, 23:38 | #5 | |
Пользователь
Регистрация: 05.12.2006
Сообщений: 23
|
Согласен, однако формат (например, Табельный номер из Дополнительных или Пользовательский формат) изменит ВСЕ числа, а не только двузначные. Требовалось:
Цитата:
|
|
06.12.2006, 01:02 | #6 |
Форумчанин
Регистрация: 03.11.2006
Сообщений: 524
|
Совершенно очевидно, что я предлагал изменить формат только у двухзначных числовых значений. Что касается задания, то там говорится о нескольких тысячах чисел, поэтому полностью исключать наличие отрицательных значений, на мой взгляд, нельзя. Впрочем, если в списке действительно наличествуют только числа аналогичные представленным и автора вопроса устраивает получение текста, то можно обойтись и без использования стандартной функции рабочего листа =ТЕКСТ() (хотя это и непринципиально)
=ЕСЛИ(ДЛСТР(A1)=2;"00"&A1;""&A1) |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
если пользователь наберет какой-то другой символ не "y" или "n" и нажмет enter, программа проигнорирует | skobets | Общие вопросы C/C++ | 2 | 03.06.2008 06:51 |
Excel файл открывается не "до конца" (странички "не показываются" только серое поле) | Dorvir | Microsoft Office Excel | 2 | 28.03.2008 10:03 |
Помогите!Срочно! "Составьте программу получения в порядке убывания всех делителей данного числа" | koston | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 26.03.2008 12:34 |
Одна "шапка" на всех листах | Noor | Microsoft Office Excel | 2 | 30.07.2007 15:39 |