Массив, поиск из списка, подстановка значения
Shadovi4
Дата: Вторник, 05.07.2016, 13:29 |
Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 47
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Приветствую знатоки! Задача: в ячейку С3 подставляется значение из столбца L, при пересечении со строкой в которой есть значение "Итого:", при условии, что значение в B2 соответствует значению из столбца E Пробовал через формулу массива, но чет не рОбит:Код
{=ЕСЛИОШИБКА(ИНДЕКС($L$12:$L$1759;ПОИСКПОЗ(ТЕКСТ($B3;"\*0000\ 000000\*")&ПРАВБ(C$2;2);ПРОСМОТР(СТРОКА(G$12:G$1759);СТРОКА(G$12:G$1759)/($L$12:$L$1759="");$G$12:$G$1759)&$G$12:$G$1759;));"")}
Приветствую знатоки! Задача: в ячейку С3 подставляется значение из столбца L, при пересечении со строкой в которой есть значение "Итого:", при условии, что значение в B2 соответствует значению из столбца E Пробовал через формулу массива, но чет не рОбит:Код
{=ЕСЛИОШИБКА(ИНДЕКС($L$12:$L$1759;ПОИСКПОЗ(ТЕКСТ($B3;"\*0000\ 000000\*")&ПРАВБ(C$2;2);ПРОСМОТР(СТРОКА(G$12:G$1759);СТРОКА(G$12:G$1759)/($L$12:$L$1759="");$G$12:$G$1759)&$G$12:$G$1759;));"")}
Shadovi4
Ответить
Сообщение Приветствую знатоки! Задача: в ячейку С3 подставляется значение из столбца L, при пересечении со строкой в которой есть значение "Итого:", при условии, что значение в B2 соответствует значению из столбца E Пробовал через формулу массива, но чет не рОбит:Код
{=ЕСЛИОШИБКА(ИНДЕКС($L$12:$L$1759;ПОИСКПОЗ(ТЕКСТ($B3;"\*0000\ 000000\*")&ПРАВБ(C$2;2);ПРОСМОТР(СТРОКА(G$12:G$1759);СТРОКА(G$12:G$1759)/($L$12:$L$1759="");$G$12:$G$1759)&$G$12:$G$1759;));"")}
Автор - Shadovi4 Дата добавления - 05.07.2016 в 13:29
abtextime
Дата: Вторник, 05.07.2016, 14:05 |
Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 828
Репутация:
117
±
Замечаний:
0% ±
Excel 2010
посмотрите такой вариант [vba]Код
Public Function MySum(S As String, R As Range) As Double RCC = R.Columns.Count For i = 1 To R.Rows.Count If R.Cells(i, 1) <> "" Then SS = R.Cells(i, 1) & "" If Trim(R.Cells(i, 3)) = "Итого:" And SS = S Then MySum = MySum + R.Cells(i, RCC) Next i End Function
[/vba]
посмотрите такой вариант [vba]Код
Public Function MySum(S As String, R As Range) As Double RCC = R.Columns.Count For i = 1 To R.Rows.Count If R.Cells(i, 1) <> "" Then SS = R.Cells(i, 1) & "" If Trim(R.Cells(i, 3)) = "Итого:" And SS = S Then MySum = MySum + R.Cells(i, RCC) Next i End Function
[/vba] abtextime
Ответить
Сообщение посмотрите такой вариант [vba]Код
Public Function MySum(S As String, R As Range) As Double RCC = R.Columns.Count For i = 1 To R.Rows.Count If R.Cells(i, 1) <> "" Then SS = R.Cells(i, 1) & "" If Trim(R.Cells(i, 3)) = "Итого:" And SS = S Then MySum = MySum + R.Cells(i, RCC) Next i End Function
[/vba] Автор - abtextime Дата добавления - 05.07.2016 в 14:05
jakim
Дата: Вторник, 05.07.2016, 14:51 |
Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 1199
Репутация:
313
±
Замечаний:
0% ±
Excel 2010
Добавил одну стрчку для последнего кода. Далее смотрите приложение.
Добавил одну стрчку для последнего кода. Далее смотрите приложение.
jakim
Ответить
Сообщение Добавил одну стрчку для последнего кода. Далее смотрите приложение.
Автор - jakim Дата добавления - 05.07.2016 в 14:51
krosav4ig
Дата: Вторник, 05.07.2016, 15:05 |
Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация:
989
±
Замечаний:
0% ±
Excel 2007,2010,2013
для C3 немассивная формула Код
=ИНДЕКС(L:L;ЕСЛИОШИБКА(ПОИСКПОЗ(B4;E:E;)-1;ПРОСМОТР("яяя";G:G;СТРОКА(G:G))))
для C3 немассивная формула Код
=ИНДЕКС(L:L;ЕСЛИОШИБКА(ПОИСКПОЗ(B4;E:E;)-1;ПРОСМОТР("яяя";G:G;СТРОКА(G:G))))
krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Ответить
Сообщение для C3 немассивная формула Код
=ИНДЕКС(L:L;ЕСЛИОШИБКА(ПОИСКПОЗ(B4;E:E;)-1;ПРОСМОТР("яяя";G:G;СТРОКА(G:G))))
Автор - krosav4ig Дата добавления - 05.07.2016 в 15:05
_Boroda_
Дата: Вторник, 05.07.2016, 22:00 |
Сообщение № 5
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация:
6481
±
Замечаний:
0% ±
2003; 2007; 2010; 2013 RUS
На случай, если значения в столбце НЕ в том же порядке, как в Е Тоже немассивнаяКод
=СУММПРОИЗВ((ПРОСМОТР(СТРОКА(E$12:E$99);СТРОКА(E$12:E$99)/(E$12:E$99>0);E$12:E$99)=B3)*L$12:L$99)/2
илиКод
=ИНДЕКС(L:L;ПОИСКПОЗ("Итого:";G$999:ИНДЕКС(G:G;ПОИСКПОЗ(B3;E:E;));)+ПОИСКПОЗ(B3;E:E;)-1)
На случай, если значения в столбце НЕ в том же порядке, как в Е Тоже немассивнаяКод
=СУММПРОИЗВ((ПРОСМОТР(СТРОКА(E$12:E$99);СТРОКА(E$12:E$99)/(E$12:E$99>0);E$12:E$99)=B3)*L$12:L$99)/2
илиКод
=ИНДЕКС(L:L;ПОИСКПОЗ("Итого:";G$999:ИНДЕКС(G:G;ПОИСКПОЗ(B3;E:E;));)+ПОИСКПОЗ(B3;E:E;)-1)
_Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение На случай, если значения в столбце НЕ в том же порядке, как в Е Тоже немассивнаяКод
=СУММПРОИЗВ((ПРОСМОТР(СТРОКА(E$12:E$99);СТРОКА(E$12:E$99)/(E$12:E$99>0);E$12:E$99)=B3)*L$12:L$99)/2
илиКод
=ИНДЕКС(L:L;ПОИСКПОЗ("Итого:";G$999:ИНДЕКС(G:G;ПОИСКПОЗ(B3;E:E;));)+ПОИСКПОЗ(B3;E:E;)-1)
Автор - _Boroda_ Дата добавления - 05.07.2016 в 22:00
krosav4ig
Дата: Вторник, 05.07.2016, 22:39 |
Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация:
989
±
Замечаний:
0% ±
Excel 2007,2010,2013
и еще массивная формула Код
=ВПР("Итого:";ЕСЛИ(СТРОКА(G$12:G$26)>=ПОИСКПОЗ(B3;E:E;);$G$12:$L$26);6;)
и еще массивная формула Код
=ВПР("Итого:";ЕСЛИ(СТРОКА(G$12:G$26)>=ПОИСКПОЗ(B3;E:E;);$G$12:$L$26);6;)
krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Ответить
Сообщение и еще массивная формула Код
=ВПР("Итого:";ЕСЛИ(СТРОКА(G$12:G$26)>=ПОИСКПОЗ(B3;E:E;);$G$12:$L$26);6;)
Автор - krosav4ig Дата добавления - 05.07.2016 в 22:39
Shadovi4
Дата: Среда, 06.07.2016, 13:21 |
Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 47
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Всем спасибо, из 6 вариантов 5 рабочих. Проблема решена. Единственно я все таки не понял, может кто подскажет в чем косяк или маны курить?)
Всем спасибо, из 6 вариантов 5 рабочих. Проблема решена. Единственно я все таки не понял, может кто подскажет в чем косяк или маны курить?) Shadovi4
Ответить
Сообщение Всем спасибо, из 6 вариантов 5 рабочих. Проблема решена. Единственно я все таки не понял, может кто подскажет в чем косяк или маны курить?) Автор - Shadovi4 Дата добавления - 06.07.2016 в 13:21
китин
Дата: Среда, 06.07.2016, 13:40 |
Сообщение № 8
Группа: Модераторы
Ранг: Экселист
Сообщений: 7014
Репутация:
1073
±
Замечаний:
0% ±
Excel 2007;2010;2016
и что же это за нерабочий? пример в студию
и что же это за нерабочий? пример в студию китин
Не судите очень строго:я пытаюсь научиться ЯД 41001877306852
Ответить
Сообщение и что же это за нерабочий? пример в студию Автор - китин Дата добавления - 06.07.2016 в 13:40
Shadovi4
Дата: Среда, 06.07.2016, 16:45 |
Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 47
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
и что же это за нерабочий? пример в студию
Показалось, что через функцию не работает как надо, показалось...
и что же это за нерабочий? пример в студию
Показалось, что через функцию не работает как надо, показалось...Shadovi4
Ответить
Сообщение и что же это за нерабочий? пример в студию
Показалось, что через функцию не работает как надо, показалось...Автор - Shadovi4 Дата добавления - 06.07.2016 в 16:45
abtextime
Дата: Среда, 06.07.2016, 17:33 |
Сообщение № 10
Группа: Проверенные
Ранг: Ветеран
Сообщений: 828
Репутация:
117
±
Замечаний:
0% ±
Excel 2010
Показалось, что через функцию не работает
Проверил еще раз. На мой взгляд, работает правильно. Результаты в ячейках C3:С6 точно такие же, как у других 454,4002 464,4001 504,4002 500
Показалось, что через функцию не работает
Проверил еще раз. На мой взгляд, работает правильно. Результаты в ячейках C3:С6 точно такие же, как у других 454,4002 464,4001 504,4002 500abtextime
Ответить
Сообщение Показалось, что через функцию не работает
Проверил еще раз. На мой взгляд, работает правильно. Результаты в ячейках C3:С6 точно такие же, как у других 454,4002 464,4001 504,4002 500Автор - abtextime Дата добавления - 06.07.2016 в 17:33