Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Массовая замена значений в ячейках - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Массовая замена значений в ячейках (Иное/Other)
Массовая замена значений в ячейках
Digitalizer Дата: Четверг, 30.06.2016, 05:19 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
Добрый день!

В файле приведен перечень дат с заданной формулой. От столбца к столбцу меняются только ссылки на ячейки с датами (например B1 и C1; следующая C1 и D1; и т.д.).
Как можно добавить массово знак '$' перед буквой столбца и после нее, и для последующих столбцов аналогично. например $B$1 и $C$1 одновременно с $D$1 и $E$1.

Второй вопрос: путем функцией "замена" - как сделать массовую замену с добавлением знака '$'? Т.е. скажем задаем такой параметр %1 и заменяем на $%$1. соответственно ко всем буквам столбцов (до и после) добавляется знак '$'.

Эта процедура необходима для автоматизации и ухода от ручного проставления знака '$' к каждой букве столбца.
К сообщению приложен файл: example.xls(24Kb)
 
Ответить
СообщениеДобрый день!

В файле приведен перечень дат с заданной формулой. От столбца к столбцу меняются только ссылки на ячейки с датами (например B1 и C1; следующая C1 и D1; и т.д.).
Как можно добавить массово знак '$' перед буквой столбца и после нее, и для последующих столбцов аналогично. например $B$1 и $C$1 одновременно с $D$1 и $E$1.

Второй вопрос: путем функцией "замена" - как сделать массовую замену с добавлением знака '$'? Т.е. скажем задаем такой параметр %1 и заменяем на $%$1. соответственно ко всем буквам столбцов (до и после) добавляется знак '$'.

Эта процедура необходима для автоматизации и ухода от ручного проставления знака '$' к каждой букве столбца.

Автор - Digitalizer
Дата добавления - 30.06.2016 в 05:19
Nic70y Дата: Четверг, 30.06.2016, 07:15 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3484
Репутация: 722 ±
Замечаний: 0% ±

Excel 2013
путем функцией "замена"
Ctrl+h не пробовали?


ЯД(poison) 41001841029809
+7 978 049 98 74 (мтс)
 
Ответить
Сообщение
путем функцией "замена"
Ctrl+h не пробовали?

Автор - Nic70y
Дата добавления - 30.06.2016 в 07:15
Digitalizer Дата: Четверг, 30.06.2016, 14:32 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
так я и спрашиваю каким образом это можно сделать в "замене".
как сделать маску на те значения которые не надо менять.
По типу: Лист1!B1 в Лист1!$%$1
 
Ответить
Сообщениетак я и спрашиваю каким образом это можно сделать в "замене".
как сделать маску на те значения которые не надо менять.
По типу: Лист1!B1 в Лист1!$%$1

Автор - Digitalizer
Дата добавления - 30.06.2016 в 14:32
Nic70y Дата: Четверг, 30.06.2016, 18:03 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3484
Репутация: 722 ±
Замечаний: 0% ±

Excel 2013
Этим средством думаю ни как, перебирайте весь алфавит, выделяя нужные участки, а если столбцов >26, то не только алфавит.


ЯД(poison) 41001841029809
+7 978 049 98 74 (мтс)


Сообщение отредактировал Nic70y - Четверг, 30.06.2016, 18:04
 
Ответить
СообщениеЭтим средством думаю ни как, перебирайте весь алфавит, выделяя нужные участки, а если столбцов >26, то не только алфавит.

Автор - Nic70y
Дата добавления - 30.06.2016 в 18:03
Manyasha Дата: Четверг, 30.06.2016, 18:47 | Сообщение № 5
Группа: Модераторы
Ранг: Старожил
Сообщений: 1587
Репутация: 669 ±
Замечаний: 0% ±

Excel 2007, 2010
Digitalizer, я правильно поняла, что Вам просто нужно формулы во второй строке привязать к первой, чтобы при протягивании вниз B1 не превращалось в B2?
Если да, то так попробуйте:
1. В ячейке В2 выделите часть формулы B1 и нажмите 2 раза F4. Должно получиться B$1. C C1 - аналогично
2. Протяните формулу в В2 на нужный диапазон.

Ну или макрос:
[vba]
Код
Sub replaceRef()
    For i = 65 To 90
        Selection.Replace Chr(i) & 1, "$" & Chr(i) & "$" & 1, xlPart
    Next i
End Sub
[/vba]
Срабатывает на выделенном диапазоне и ищет только
%1 и заменяем на $%$1
где вместо знака % - буквы от A до Z.


marinamorozova_box@mail.ru
ЯД: 410013299366744 WM: R193491431804
 
Ответить
СообщениеDigitalizer, я правильно поняла, что Вам просто нужно формулы во второй строке привязать к первой, чтобы при протягивании вниз B1 не превращалось в B2?
Если да, то так попробуйте:
1. В ячейке В2 выделите часть формулы B1 и нажмите 2 раза F4. Должно получиться B$1. C C1 - аналогично
2. Протяните формулу в В2 на нужный диапазон.

Ну или макрос:
[vba]
Код
Sub replaceRef()
    For i = 65 To 90
        Selection.Replace Chr(i) & 1, "$" & Chr(i) & "$" & 1, xlPart
    Next i
End Sub
[/vba]
Срабатывает на выделенном диапазоне и ищет только
%1 и заменяем на $%$1
где вместо знака % - буквы от A до Z.

Автор - Manyasha
Дата добавления - 30.06.2016 в 18:47
Digitalizer Дата: Четверг, 30.06.2016, 19:39 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
Nic70y
да вот и приходилось F4 жать по 50 раз :)

Manyasha
да да да, об этом и речь :)
спасибо за макрос ) помогло


Сообщение отредактировал Digitalizer - Четверг, 30.06.2016, 19:40
 
Ответить
СообщениеNic70y
да вот и приходилось F4 жать по 50 раз :)

Manyasha
да да да, об этом и речь :)
спасибо за макрос ) помогло

Автор - Digitalizer
Дата добавления - 30.06.2016 в 19:39
Gustav Дата: Четверг, 30.06.2016, 19:54 | Сообщение № 7
Группа: Друзья
Ранг: Старожил
Сообщений: 1211
Репутация: 484 ±
Замечаний: 0% ±

начинал с Excel 4.0...
Если только правильно понял задачу, требовалось, вероятно, нечто следующее:
[vba]
Код
Sub io()
    Selection.Formula = Application.ConvertFormula(Selection.Formula, xlA1, xlA1, xlAbsolute)
End Sub
[/vba]
P.S. Четвертый параметр в скобках ToAbsolute - константа из перечисления Excel.XlReferenceType: xlAbsolute = 1, xlAbsRowRelColumn = 2, xlRelRowAbsColumn = 3, xlRelative = 4.


Мой tip box - яд 41001663842605

Сообщение отредактировал Gustav - Пятница, 01.07.2016, 12:05
 
Ответить
СообщениеЕсли только правильно понял задачу, требовалось, вероятно, нечто следующее:
[vba]
Код
Sub io()
    Selection.Formula = Application.ConvertFormula(Selection.Formula, xlA1, xlA1, xlAbsolute)
End Sub
[/vba]
P.S. Четвертый параметр в скобках ToAbsolute - константа из перечисления Excel.XlReferenceType: xlAbsolute = 1, xlAbsRowRelColumn = 2, xlRelRowAbsColumn = 3, xlRelative = 4.

Автор - Gustav
Дата добавления - 30.06.2016 в 19:54
Digitalizer Дата: Понедельник, 01.08.2016, 11:28 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
Gustav а как быть если помимо приведенных в формуле столбцов так же заданы дополнительные параметры, и если применить макрос то выдает #ЗНАЧ!
Пример:
Код
=СУММПРОИЗВ((Base!$A$2:$A$999=Лист1!$A$2)*(Base!$M$2:$M$999>=Лист1!L1)*(Base!$M$2:$M$999<Лист1!M1))
- макрос не работает, выдает #ЗНАЧ!

Код
=СУММПРОИЗВ((Base!$M$2:$M$999>=Лист1!B1)*(Base!$M$2:$M$999<Лист1!C1))
- макрос работает


Сообщение отредактировал Pelena - Понедельник, 01.08.2016, 11:45
 
Ответить
СообщениеGustav а как быть если помимо приведенных в формуле столбцов так же заданы дополнительные параметры, и если применить макрос то выдает #ЗНАЧ!
Пример:
Код
=СУММПРОИЗВ((Base!$A$2:$A$999=Лист1!$A$2)*(Base!$M$2:$M$999>=Лист1!L1)*(Base!$M$2:$M$999<Лист1!M1))
- макрос не работает, выдает #ЗНАЧ!

Код
=СУММПРОИЗВ((Base!$M$2:$M$999>=Лист1!B1)*(Base!$M$2:$M$999<Лист1!C1))
- макрос работает

Автор - Digitalizer
Дата добавления - 01.08.2016 в 11:28
Gustav Дата: Среда, 03.08.2016, 12:06 | Сообщение № 9
Группа: Друзья
Ранг: Старожил
Сообщений: 1211
Репутация: 484 ±
Замечаний: 0% ±

начинал с Excel 4.0...
если применить макрос то выдает #ЗНАЧ!

Не знаю, у меня всё работает. Ввожу Ваши формулы, выделяю ячейки, запускаю макрос, после макроса имею в ячейках абсолютные формулы:
Код
=СУММПРОИЗВ((Base!$A$2:$A$999=Лист1!$A$2)*(Base!$M$2:$M$999>=Лист1!$L$1)*(Base!$M$2:$M$999<Лист1!$M$1))

Код
=СУММПРОИЗВ((Base!$M$2:$M$999>=Лист1!$B$1)*(Base!$M$2:$M$999<Лист1!$C$1))

Может, в обрабатываемых этими формулами ячейках какие-то проблемы, какие-нибудь "левые" значения? Тяжело лечить по переписке, не видя "пациента" (файла-примера с этими формулами)...


Мой tip box - яд 41001663842605
 
Ответить
Сообщение
если применить макрос то выдает #ЗНАЧ!

Не знаю, у меня всё работает. Ввожу Ваши формулы, выделяю ячейки, запускаю макрос, после макроса имею в ячейках абсолютные формулы:
Код
=СУММПРОИЗВ((Base!$A$2:$A$999=Лист1!$A$2)*(Base!$M$2:$M$999>=Лист1!$L$1)*(Base!$M$2:$M$999<Лист1!$M$1))

Код
=СУММПРОИЗВ((Base!$M$2:$M$999>=Лист1!$B$1)*(Base!$M$2:$M$999<Лист1!$C$1))

Может, в обрабатываемых этими формулами ячейках какие-то проблемы, какие-нибудь "левые" значения? Тяжело лечить по переписке, не видя "пациента" (файла-примера с этими формулами)...

Автор - Gustav
Дата добавления - 03.08.2016 в 12:06
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Массовая замена значений в ячейках (Иное/Other)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2016 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!