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

Вход

Регистрация

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

 

= Мир MS Excel/Автоматическое заполнение промежуточных листов - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Автоматическое заполнение промежуточных листов (Формулы/Formulas)
Автоматическое заполнение промежуточных листов
Dron_S Дата: Понедельник, 24.08.2015, 17:18 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Добрый день.
Есть excel файл. В нем есть листы (например их 10 штук). При этом таблица с данными есть на первом листе и на пятом. Таблицы по структуре идентичные, только циферки разных в ячейках. Требуется интерполировать данные между листами 1 и 5. Например в ячейке А1 на листе 1 записано: 10. А в этой же ячейке на листе 5 - 110. Соответственно нужно на листах 2, 3 и 4 написать это: 35, 60 и 85. Как это сделать?
 
Ответить
СообщениеДобрый день.
Есть excel файл. В нем есть листы (например их 10 штук). При этом таблица с данными есть на первом листе и на пятом. Таблицы по структуре идентичные, только циферки разных в ячейках. Требуется интерполировать данные между листами 1 и 5. Например в ячейке А1 на листе 1 записано: 10. А в этой же ячейке на листе 5 - 110. Соответственно нужно на листах 2, 3 и 4 написать это: 35, 60 и 85. Как это сделать?

Автор - Dron_S
Дата добавления - 24.08.2015 в 17:18
TimSha Дата: Понедельник, 24.08.2015, 17:53 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 627
Репутация: 94 ±
Замечаний: 0% ±

Excel 2013 Pro +
как это сделать?

Вариант, однако простенький: добавлять к предыдущему... ;)


"Ctrl+S" - достойное завершение ваших гениальных мыслей!.. ;)

Сообщение отредактировал TimSha - Понедельник, 24.08.2015, 17:56
 
Ответить
Сообщение
как это сделать?

Вариант, однако простенький: добавлять к предыдущему... ;)

Автор - TimSha
Дата добавления - 24.08.2015 в 17:53
Dron_S Дата: Понедельник, 24.08.2015, 18:01 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Можете привести пример? Естественно не вручную, а автоматизировано.
 
Ответить
СообщениеМожете привести пример? Естественно не вручную, а автоматизировано.

Автор - Dron_S
Дата добавления - 24.08.2015 в 18:01
МВТ Дата: Понедельник, 24.08.2015, 18:36 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 476
Репутация: 137 ±
Замечаний: 0% ±

Excel 2007
Примерно так
Код
=Лист1!A1+(Лист5!A1-Лист1!A1)/4*(НомерЛиста()-1)
, где НомерЛиста - UDF [vba]
Код
Function НомерЛиста()
Dim N As String
N = ActiveSheet.Name
For i = 1 To Sheets.Count
     If Sheets(i).Name = N Then
         НомерЛиста = i
         Exit Function
     End If
Next i
End Function
[/vba]
 
Ответить
СообщениеПримерно так
Код
=Лист1!A1+(Лист5!A1-Лист1!A1)/4*(НомерЛиста()-1)
, где НомерЛиста - UDF [vba]
Код
Function НомерЛиста()
Dim N As String
N = ActiveSheet.Name
For i = 1 To Sheets.Count
     If Sheets(i).Name = N Then
         НомерЛиста = i
         Exit Function
     End If
Next i
End Function
[/vba]

Автор - МВТ
Дата добавления - 24.08.2015 в 18:36
Udik Дата: Понедельник, 24.08.2015, 18:37 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 1588
Репутация: 192 ±
Замечаний: 0% ±

Excel 2016 х 64
У меня тут ссылки на листы в формуле на undefine поменялись %) , пришлось убрать


вот вам барабан
яд 41001231307558 wm R419131876897
udik1968@gmail.com


Сообщение отредактировал Udik - Понедельник, 24.08.2015, 18:43
 
Ответить
СообщениеУ меня тут ссылки на листы в формуле на undefine поменялись %) , пришлось убрать

Автор - Udik
Дата добавления - 24.08.2015 в 18:37
Dron_S Дата: Вторник, 25.08.2015, 14:43 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Примерно так

Не работает. В тестовой ячейке пишет: #ИМЯ?

Можете выложить пример сюда в виде excel файла, чтобы посмотреть что и как?
[moder]Не нужно цитировать весь пост.
Прочитайте Правила форума. Касательно примера - п.3 Правил.


Сообщение отредактировал _Boroda_ - Вторник, 25.08.2015, 14:47
 
Ответить
Сообщение
Примерно так

Не работает. В тестовой ячейке пишет: #ИМЯ?

Можете выложить пример сюда в виде excel файла, чтобы посмотреть что и как?
[moder]Не нужно цитировать весь пост.
Прочитайте Правила форума. Касательно примера - п.3 Правил.

Автор - Dron_S
Дата добавления - 25.08.2015 в 14:43
Manyasha Дата: Вторник, 25.08.2015, 16:26 | Сообщение № 7
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
Dron_S, у меня все работает. Добавила в udf МВТ строчку
[vba]
Код
Application.Volatile
[/vba]чтобы НомерЛиста() пересчитывалась

Михаил, а почему не так? [vba]
Код
Function НомерЛиста()
Application.Volatile
НомерЛиста = ActiveSheet.Index
End Function
[/vba]
(В файле под комментариями)
К сообщению приложен файл: primer.xlsm (19.2 Kb)


ЯД: 410013299366744 WM: R193491431804
 
Ответить
СообщениеDron_S, у меня все работает. Добавила в udf МВТ строчку
[vba]
Код
Application.Volatile
[/vba]чтобы НомерЛиста() пересчитывалась

Михаил, а почему не так? [vba]
Код
Function НомерЛиста()
Application.Volatile
НомерЛиста = ActiveSheet.Index
End Function
[/vba]
(В файле под комментариями)

Автор - Manyasha
Дата добавления - 25.08.2015 в 16:26
_Boroda_ Дата: Вторник, 25.08.2015, 16:45 | Сообщение № 8
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
а почему не НомерЛиста = ActiveSheet.Index

Представим, что в какой-то момент времени у нас активен лист 2, тогда на ВСЕХ листах функция НомерЛиста даст нам двойку. А должно быть - на листе 2 = 2, на листе 3 = 3, ...
Более того, если активен лист 444 в другой книге, то функция даст значение 444


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
а почему не НомерЛиста = ActiveSheet.Index

Представим, что в какой-то момент времени у нас активен лист 2, тогда на ВСЕХ листах функция НомерЛиста даст нам двойку. А должно быть - на листе 2 = 2, на листе 3 = 3, ...
Более того, если активен лист 444 в другой книге, то функция даст значение 444

Автор - _Boroda_
Дата добавления - 25.08.2015 в 16:45
МВТ Дата: Вторник, 25.08.2015, 18:39 | Сообщение № 9
Группа: Проверенные
Ранг: Обитатель
Сообщений: 476
Репутация: 137 ±
Замечаний: 0% ±

Excel 2007
Марина, Вы абсолютно правы, так же, как и увожаемый _Boroda_. Думаю, более правильнее будет сделать примерно так: [vba]
Код
Function GetSheetNumber()
Dim Sh As String
Sh = Application.ThisCell.Address(1, 1, xlA1, 1)
Sh = Right(Sh, Len(Sh) - InStr(Sh, "]"))
Sh = Left(Sh, InStr(Sh, "!") - 1)
GetSheetNumber = Sheets(Sh).Index
End Function
[/vba]
 
Ответить
СообщениеМарина, Вы абсолютно правы, так же, как и увожаемый _Boroda_. Думаю, более правильнее будет сделать примерно так: [vba]
Код
Function GetSheetNumber()
Dim Sh As String
Sh = Application.ThisCell.Address(1, 1, xlA1, 1)
Sh = Right(Sh, Len(Sh) - InStr(Sh, "]"))
Sh = Left(Sh, InStr(Sh, "!") - 1)
GetSheetNumber = Sheets(Sh).Index
End Function
[/vba]

Автор - МВТ
Дата добавления - 25.08.2015 в 18:39
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Автоматическое заполнение промежуточных листов (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

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