Страницы: 1
RSS
Перенос всех данных по признаку из одной таблицы в другую
 
Как выбрать ОДНО значение из таблицы с помощью «ВПР» понятно, а как выбрать все значения удовлетворяющие условию? Это проблема.  
Помогите пожалуйста, если есть знающие…  
Таблица, в первом столбце которой присутствуют – либо «УВП», либо «ППС», либо «ОП».  
Во втором столбце перечислены «Фамилии».  
В третьем столбце «Оклады».  
Нужно заполнить пустую таблицу, только по признаку «УВП», т.е. перенести все строки (со всеми значениями) в новую таблицу, по порядку.
 
Рисуем таблицы, пишем макрос, либо придумываем формулы...
 
{quote}{login=Юрий М}{date=14.01.2010 02:24}{thema=}{post}... либо придумываем формулы...{/post}{/quote}  
Знал бы как придумать формулу, не спрашивал бы.  
А с макросами работаю мало, т.к. владею "чуть-чуть", в основном при помощи формул изворачиваюсь.
 
{quote}{login=The_PristПрочитали бы правила - поняли бы намек. В правила есть такой пункт - 3. В нем все очень доходчиво описано по Вашей проблеме.{/post}{/quote}  
Намёк понял!!  
Файл прикрепил!
 
{quote}{login=The_Prist}{date=14.01.2010 03:26}{thema=}{post}А вот с обработкой ошибок. Просто меняйте название отдела в ячейке Е3.{/post}{/quote}  
Ну... вы МАСТЕР!!
 
{quote}{login=The_Prist}{date=14.01.2010 03:26}{thema=}{post}А вот с обработкой ошибок.{/post}{/quote}  
Я извиняюсь, конечно, однако... а зачем используется функция "Строка"??  
Думал, думал и... не пойму.
 
{quote}{login=The_Prist}{date=14.01.2010 03:44}{thema=Re: Re: }{post}{quote}{login=Сергей_59}{date=14.01.2010 03:40}{thema=Re: }{post}а зачем используется функция "Строка"??{/post}{/quote}Надо полагать с остальными функциями все понятно?    
Тогда:    
СТРОКА возвращает целое число указанной строки.    
В приведенной функции НАИМЕНЬШИЙ:    
СТРОКА(1:1) - применяется, чтоб не прописывать вручную номер элемента массива; СТРОКА($C$3:$C$22) - для преобразования найденных значений в номер, чтобы функция НАИМЕНЬШИЙ вернула результат, т.к. не умеет работать с текстом.  
 
Пока достаточно, думаю.{/post}{/quote}  
 
Уважаемый The_Prist,  
подскажите, меня заинтересовал файл, который вы поправили - объясните, пожалуйста, что значят фигурные скобки { в формуле?  
 
Заранее мерси
 
Пока уважаемый отдыхает... Фигурные скобки обозначают, что используется формула массива. Заканчивать ввод/редактирование такой формулы нужно не нажатием Enter, а трёх клавиш: Ctrl+Shift+Enter
 
{quote}{login=Юрий М}{date=15.01.2010 03:31}{thema=}{post}Пока уважаемый отдыхает... Фигурные скобки обозначают, что используется формула массива. Заканчивать ввод/редактирование такой формулы нужно не нажатием Enter, а трёх клавиш: Ctrl+Shift+Enter{/post}{/quote}  
 
Юрий, то есть нужно проработать каждую ячейку? или достаточно потом протянуть столбец - для группировки данных из Таблицы 1?
 
Файл не смотрел. А проверить не хотите? :-) В общем случае - ввели в одну ячейку и протянули.
 
{quote}{login=Юрий М}{date=15.01.2010 03:48}{thema=}{post}Файл не смотрел. А проверить не хотите? :-) В общем случае - ввели в одну ячейку и протянули.{/post}{/quote}  
 
в том то и дело, проверила - протянула)  
получилась фигня, точнее строчки одинаковые - аля копирование. Сижу и думаю, или руки к 4 утра скривились - либо все таки пора спать
 
Весь вчерашний вечер экспериментировал в формулой массива  
ЕСЛИ(СЧЁТЕСЛИ($A$3:$A$22,G3)>=СТРОКА(1:1),ИНДЕКС($B$1:$B$16,НАИМЕНЬШИЙ(ЕСЛИ($A$3:$A$22=G3,СТРОКА($C$3:$C$22)),СТРОКА(1:1))),"")  
 
Пытался понять и осмыслить, как она работает, но ... всякий раз, когда переношу формулу в другое место, либо пытаюсь создать ея в ином месте самостоятельно, то формула не работает.  
 
Чего делать?
 
Почему в функции ИНДЕКС массив начинается с "В1", а все остальные ссылки начинаются с третьей строчки?  
Я попытался установить начало с "В3", но формула перестает работать.  
Это главная загвоздка!  
ИНДЕКС($B$1:$B$22,НАИМЕНЬШИЙ(ЕСЛИ($A$3:$A$22=G8,СТРОКА($C$3:$C$22)),СТРОКА(6:6))  
 
И ещё, если функция СТРОКА(1:1) возвращает номер строки "1", то можно ли заменть на ссылку, где указан этот номер, например на нумерацию строк (№ п.п.)
 
Прочтите справку по функциям, которые вы пытаетесь использовать, и посмотрите этапы вычисления.  
Если вкратце на примере:  
Индекс(a3:a10;2) вернёт значение из ячейки a4, т е значение второй строки, начиная с a3. 3+1=4.  
Соответственно, если вы работаете со строками, и вам нужно значение из ячейки a6, то используйте одну из следующих конструкций:  
индекс(a1:a10;строка(a6))  
или  
индекс (a3:a10;строка(a6)-2)  
или  
индекс(a3:a10;строка(a6)-строка(a2)), где 2 или строка(a2) ставится потому, что разница между 3 и 1 строкой равна двум.
 
{quote}{login=Саша}{date=15.01.2010 08:43}{thema=}Прочтите справку по функциям, которые вы пытаетесь использовать, и посмотрите этапы вычисления.  
{/quote}  
В простом примере у меня всё получается, а как до дела доходит, то...!  
Я приложил файл - посмотрите, пожалуйста
 
пока спецы отдыхают)  
 
есть полезная функция - "вычислить формулу" - пошагово вычисляет формулу.
 
{quote}{login=Dophin}{date=15.01.2010 09:14}{thema=}{post}пока спецы отдыхают)  
{/post}{/quote}  
У вас тоже НЕ ПОЛУЧИЛОСЬ!!!  
Нужно выбрать из Отдела №2
 
=ЕСЛИ(СЧЁТЕСЛИ($A$20:$A$31;G11)>=СТРОКА(1:1);ИНДЕКС($B$1:$B$31;НАИМЕНЬШИЙ(ЕСЛИ($A$20:$A$31=G11;СТРОКА($A$20:$A$31));СТРОКА(1:1)));"")  
 
Ещё раз-прочтите справку. Не надо делать на авось.
 
Т.е. можно тогда использовать ссылку на столбец, а не на диапазон??  
ИНДЕКС(B:B, ... ???
 
Ну да, если у вас 2007 excel. В 2003 нельзя вроде бы.  
Что интересно, проверить лично у вас заняло бы меньше времени, чем писать данный вопрос.
Страницы: 1
Читают тему
Наверх