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

Вход

Регистрация

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

 

= Мир MS Excel/Записи участника (krosav4ig) - Мир MS Excel

Результаты поиска
krosav4ig Дата: Вторник, 04.08.2015, 17:22 | Сообщение № 1501 | Тема: Номер страницы из колонтитула в оглавление
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
pips, в vbe листы макросов не отображаются. Чтобы его показать нужно ПКМ по ярлыку любого листа и выбрать показать


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеpips, в vbe листы макросов не отображаются. Чтобы его показать нужно ПКМ по ярлыку любого листа и выбрать показать

Автор - krosav4ig
Дата добавления - 04.08.2015 в 17:22
krosav4ig Дата: Вторник, 04.08.2015, 16:48 | Сообщение № 1502 | Тема: Номер страницы из колонтитула в оглавление
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
как вариант, макрофункция
для работы нужно создать именованные диапазоны
нужно выделить листы с пунктами, выделил ячейку A1, нажать Ctrl+Shift+F3 (Формулы->Определенные имена->Создать из выделенного), нажать ОК (галочка должна быть на "в столбце слева")
сам код макрофункции находится на скрытом листе Макрос1
К сообщению приложен файл: 5224176.xls (45.5 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениекак вариант, макрофункция
для работы нужно создать именованные диапазоны
нужно выделить листы с пунктами, выделил ячейку A1, нажать Ctrl+Shift+F3 (Формулы->Определенные имена->Создать из выделенного), нажать ОК (галочка должна быть на "в столбце слева")
сам код макрофункции находится на скрытом листе Макрос1

Автор - krosav4ig
Дата добавления - 04.08.2015 в 16:48
krosav4ig Дата: Понедельник, 03.08.2015, 18:16 | Сообщение № 1503 | Тема: Извлечь число из текста
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
еще вариант с UDF
[vba]
Код
Function Phone(str$)
     With CreateObject("VBScript.RegExp")
         .Pattern = "(((\+7|8)(|-| )?)?((\(|-| )?\d{3}(\)|-| )?){2})?((-| )?\d{2}){2,3}"
         Phone = IIf(.Test(str), Trim(.Execute(str)(0)), "")
     End With
End Function
[/vba]
К сообщению приложен файл: 7403382-1-.xls (36.0 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Понедельник, 03.08.2015, 18:27
 
Ответить
Сообщениееще вариант с UDF
[vba]
Код
Function Phone(str$)
     With CreateObject("VBScript.RegExp")
         .Pattern = "(((\+7|8)(|-| )?)?((\(|-| )?\d{3}(\)|-| )?){2})?((-| )?\d{2}){2,3}"
         Phone = IIf(.Test(str), Trim(.Execute(str)(0)), "")
     End With
End Function
[/vba]

Автор - krosav4ig
Дата добавления - 03.08.2015 в 18:16
krosav4ig Дата: Понедельник, 03.08.2015, 16:51 | Сообщение № 1504 | Тема: Извлечь число из текста
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
как вариант
Код
=МАКС(ЕСЛИОШИБКА(--ПСТР(A1;СТРОКА($1:$99);СТОЛБЕЦ($A:$L));))
К сообщению приложен файл: 1683264.xlsx (10.5 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениекак вариант
Код
=МАКС(ЕСЛИОШИБКА(--ПСТР(A1;СТРОКА($1:$99);СТОЛБЕЦ($A:$L));))

Автор - krosav4ig
Дата добавления - 03.08.2015 в 16:51
krosav4ig Дата: Воскресенье, 02.08.2015, 18:09 | Сообщение № 1505 | Тема: Нумерация строк в сводной таблице
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
[offtop]
программисты убивают, а сисадмины - закапывают

так вот что значит разделение труда и делегирование административных прав![/offtop]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Воскресенье, 02.08.2015, 18:10
 
Ответить
Сообщение[offtop]
программисты убивают, а сисадмины - закапывают

так вот что значит разделение труда и делегирование административных прав![/offtop]

Автор - krosav4ig
Дата добавления - 02.08.2015 в 18:09
krosav4ig Дата: Суббота, 01.08.2015, 14:32 | Сообщение № 1506 | Тема: Как удалить столбцы с нулевыми значениями: без цифр и слов?
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
[offtop]
это как же можно такое запомнить?

Игорь, это укороченный вариант, в исходном варианте вместо F5>ALT+В было ALT+ЯФВГ :) [/offtop]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение[offtop]
это как же можно такое запомнить?

Игорь, это укороченный вариант, в исходном варианте вместо F5>ALT+В было ALT+ЯФВГ :) [/offtop]

Автор - krosav4ig
Дата добавления - 01.08.2015 в 14:32
krosav4ig Дата: Пятница, 31.07.2015, 21:47 | Сообщение № 1507 | Тема: макрос для удаления всех символов до первого 0.
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
А может так можно?[vba]
Код
Sub F()
      With Range("A1:A" & Cells(Rows.Count, "A").End(xlUp).Row)
          .NumberFormat = "general"
          .Replace " ", Empty, xlPart
          .Replace "*-", Empty, xlPart
          .Formula = .Value
      End With
End Sub
[/vba]
[p.s.]просто предположил, писал с телефона, проверить работу возможности нет. Если что, сильно не ругайте ^_^[/p.s.]

upd.
дополз до компа, проверил, исправил

upd.
для файла из 13 поста
[vba]
Код
Sub upd()
     Dim arr() As Variant
     With Range("C3:C" & Cells(Rows.Count, "C").End(xlUp).Row)
         arr = .Value
         With Intersect(.EntireRow, [I:I])
             .NumberFormat = "general"
             .Formula = arr
             .Replace " ", Empty, xlPart
             .Replace "*-", Empty, xlPart
         End With
     End With
End Sub
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Суббота, 01.08.2015, 14:10
 
Ответить
СообщениеА может так можно?[vba]
Код
Sub F()
      With Range("A1:A" & Cells(Rows.Count, "A").End(xlUp).Row)
          .NumberFormat = "general"
          .Replace " ", Empty, xlPart
          .Replace "*-", Empty, xlPart
          .Formula = .Value
      End With
End Sub
[/vba]
[p.s.]просто предположил, писал с телефона, проверить работу возможности нет. Если что, сильно не ругайте ^_^[/p.s.]

upd.
дополз до компа, проверил, исправил

upd.
для файла из 13 поста
[vba]
Код
Sub upd()
     Dim arr() As Variant
     With Range("C3:C" & Cells(Rows.Count, "C").End(xlUp).Row)
         arr = .Value
         With Intersect(.EntireRow, [I:I])
             .NumberFormat = "general"
             .Formula = arr
             .Replace " ", Empty, xlPart
             .Replace "*-", Empty, xlPart
         End With
     End With
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 31.07.2015 в 21:47
krosav4ig Дата: Пятница, 31.07.2015, 17:34 | Сообщение № 1508 | Тема: Как удалить столбцы с нулевыми значениями: без цифр и слов?
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
как вариант Выделяем строки 2:20
Жмем комбинации (буквы руские, раскладка должна быть русской, 0 - цифра)
F5>ALT+ВК>Enter>Ctrl+0>Ctrl+Shift+пробел>F5>Alt+ВЫ>Ctrl+->Enter>Shift+пробел>Ctrl+Sift+0>Home


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениекак вариант Выделяем строки 2:20
Жмем комбинации (буквы руские, раскладка должна быть русской, 0 - цифра)
F5>ALT+ВК>Enter>Ctrl+0>Ctrl+Shift+пробел>F5>Alt+ВЫ>Ctrl+->Enter>Shift+пробел>Ctrl+Sift+0>Home

Автор - krosav4ig
Дата добавления - 31.07.2015 в 17:34
krosav4ig Дата: Четверг, 30.07.2015, 18:01 | Сообщение № 1509 | Тема: Управление мышкой макросом
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
опоздал :(
Rioran,
единица

это все потому, что я страшный лентяй и не люблю объявлять константы, если они используются в коде один раз :(
И все, что я могу добавить к исчерпывающему ответу AndreTM, это то, что если бы все-таки можно было 100% ориентироваться на младший бит, то можно было бы избавиться от вложенного цикла если отслеживать "псевдо-отжатие"
[vba]
Код
Private Type POINTAPI
           x As Long
           y As Long
End Type
Private Declare Function GetCursorPos Lib "user32.dll" (lpPoint As POINTAPI) As Long
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Const KEY_PRESSED = &H8000
Private Const KEY_RELEASED = &H1
Private Const VK_LButton = &H1

Sub clickpos()
       Dim i%, curpos As POINTAPI
       GetAsyncKeyState VK_LButton
       Do
           If (GetAsyncKeyState(VK_LButton) And KEY_RELEASED) Then
               GetCursorPos curpos
               [A1].Offset(i) = curpos.x
               [A1].Offset(i, 1) = curpos.y
               i = i + 1
           End If
           Sleep 30
           DoEvents
       Loop Until i = 3
End Sub
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Четверг, 30.07.2015, 18:13
 
Ответить
Сообщениеопоздал :(
Rioran,
единица

это все потому, что я страшный лентяй и не люблю объявлять константы, если они используются в коде один раз :(
И все, что я могу добавить к исчерпывающему ответу AndreTM, это то, что если бы все-таки можно было 100% ориентироваться на младший бит, то можно было бы избавиться от вложенного цикла если отслеживать "псевдо-отжатие"
[vba]
Код
Private Type POINTAPI
           x As Long
           y As Long
End Type
Private Declare Function GetCursorPos Lib "user32.dll" (lpPoint As POINTAPI) As Long
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Const KEY_PRESSED = &H8000
Private Const KEY_RELEASED = &H1
Private Const VK_LButton = &H1

Sub clickpos()
       Dim i%, curpos As POINTAPI
       GetAsyncKeyState VK_LButton
       Do
           If (GetAsyncKeyState(VK_LButton) And KEY_RELEASED) Then
               GetCursorPos curpos
               [A1].Offset(i) = curpos.x
               [A1].Offset(i, 1) = curpos.y
               i = i + 1
           End If
           Sleep 30
           DoEvents
       Loop Until i = 3
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 30.07.2015 в 18:01
krosav4ig Дата: Среда, 29.07.2015, 19:54 | Сообщение № 1510 | Тема: Управление мышкой макросом
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Rioran, привет. По поводу отсутствия sleep я, конечно, погорячился, ибо даже задержка в 1 мс в этом коде сводит загрузку цп (процессом excel) чуть ли не к 0, и sleep не помешает в обоих циклах. А тут
так имхо надежнее будет
я имел в виду вложенный цикл с ожиданием отжатия кнопки.


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Среда, 29.07.2015, 19:55
 
Ответить
СообщениеRioran, привет. По поводу отсутствия sleep я, конечно, погорячился, ибо даже задержка в 1 мс в этом коде сводит загрузку цп (процессом excel) чуть ли не к 0, и sleep не помешает в обоих циклах. А тут
так имхо надежнее будет
я имел в виду вложенный цикл с ожиданием отжатия кнопки.

Автор - krosav4ig
Дата добавления - 29.07.2015 в 19:54
krosav4ig Дата: Среда, 29.07.2015, 12:47 | Сообщение № 1511 | Тема: Замена или решение типа Ф.ТЕКСТ в Excel 2010
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
rogert, а у мну Ф.ТЕКСТ работает :p
как теперь данный получаемый текст формулы заставить воспринимать экселем как формулу

макрофункция ВЫЧИСЛИТЬ()
К сообщению приложен файл: 6481601.xls (31.0 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеrogert, а у мну Ф.ТЕКСТ работает :p
как теперь данный получаемый текст формулы заставить воспринимать экселем как формулу

макрофункция ВЫЧИСЛИТЬ()

Автор - krosav4ig
Дата добавления - 29.07.2015 в 12:47
krosav4ig Дата: Понедельник, 27.07.2015, 19:08 | Сообщение № 1512 | Тема: Подскажите как открыть 2а файла экселя 2010 на 2х мониторах.
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Emiral, а во втором методе из статьи по первой ссылке по-вашему про что написано?


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеEmiral, а во втором методе из статьи по первой ссылке по-вашему про что написано?

Автор - krosav4ig
Дата добавления - 27.07.2015 в 19:08
krosav4ig Дата: Пятница, 24.07.2015, 18:57 | Сообщение № 1513 | Тема: Хитрое автоматическое транспонирование
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
еще вариант, без допстолбцов, летучие формулы
Код
=СМЕЩ(AA;ПРОСМОТР(СТРОКА(A1)-1;CC;СТРОКА(AA)-1)-1;СТРОКА(A5)-ПРОСМОТР(СТРОКА(A1)-1;CC);1)
Код
=ПРОСМОТР(СТРОКА(A1)-1;CC;AA)

К сообщению приложен файл: 4988391.xlsx (10.9 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Пятница, 24.07.2015, 18:59
 
Ответить
Сообщениееще вариант, без допстолбцов, летучие формулы
Код
=СМЕЩ(AA;ПРОСМОТР(СТРОКА(A1)-1;CC;СТРОКА(AA)-1)-1;СТРОКА(A5)-ПРОСМОТР(СТРОКА(A1)-1;CC);1)
Код
=ПРОСМОТР(СТРОКА(A1)-1;CC;AA)


Автор - krosav4ig
Дата добавления - 24.07.2015 в 18:57
krosav4ig Дата: Пятница, 24.07.2015, 18:16 | Сообщение № 1514 | Тема: Столбец, фильтрующийся на основе ячейки
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
вариант с допстолбцом и сводной со срезом
К сообщению приложен файл: 2132463.xlsx (69.3 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениевариант с допстолбцом и сводной со срезом

Автор - krosav4ig
Дата добавления - 24.07.2015 в 18:16
krosav4ig Дата: Пятница, 24.07.2015, 16:13 | Сообщение № 1515 | Тема: Столбец, фильтрующийся на основе ячейки
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
вариант с расширенным фильтром, таблица на листе1 фильтруется по всем значениям введенным на листе2
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
     With [criteria[#All]]
         If Not Intersect(Target, .Resize(.Rows.Count + 1)) Is Nothing Then _
             [Таблица2[#All]].AdvancedFilter 1, .Rows(1).Resize(Application.CountA(.Columns(1))), 0
     End With
End Sub
[/vba]
К сообщению приложен файл: 0774544.xlsm (17.9 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениевариант с расширенным фильтром, таблица на листе1 фильтруется по всем значениям введенным на листе2
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
     With [criteria[#All]]
         If Not Intersect(Target, .Resize(.Rows.Count + 1)) Is Nothing Then _
             [Таблица2[#All]].AdvancedFilter 1, .Rows(1).Resize(Application.CountA(.Columns(1))), 0
     End With
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 24.07.2015 в 16:13
krosav4ig Дата: Пятница, 24.07.2015, 15:17 | Сообщение № 1516 | Тема: Фильтр по дате: выбрать все даты ДО прошлого месяца
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
[vba]
Код
ActiveSheet.Range("$A$1:$U$3473").AutoFilter 18, "<=" & Application.EoMonth(Date, -2)
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение[vba]
Код
ActiveSheet.Range("$A$1:$U$3473").AutoFilter 18, "<=" & Application.EoMonth(Date, -2)
[/vba]

Автор - krosav4ig
Дата добавления - 24.07.2015 в 15:17
krosav4ig Дата: Четверг, 23.07.2015, 19:06 | Сообщение № 1517 | Тема: Подскажите как открыть 2а файла экселя 2010 на 2х мониторах.
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Emiral, почитайте тут
куча ссылок


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Четверг, 23.07.2015, 19:10
 
Ответить
СообщениеEmiral, почитайте тут
куча ссылок

Автор - krosav4ig
Дата добавления - 23.07.2015 в 19:06
krosav4ig Дата: Среда, 22.07.2015, 20:20 | Сообщение № 1518 | Тема: Как сделать вставку строк с текстом
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
blackeangel, так нужно?
[vba]
Код
Sub Insert_Rows2()
     Dim lLastRow As Long, li As Long, i As Range ' переменные
     Application.ScreenUpdating = 0 'заморозим экран от изменений
     lLastRow = Cells(Rows.Count, 1).End(xlUp).Row 'переменной присваивается последняя строка
     For li = lLastRow To 3 Step -1 'ПЕРЕБИРАЕМ С последней до первой строки с шагом -1
     With ActiveSheet.UsedRange.Rows(li).Resize(2)
     .Insert 'добавляем 2 строки до нужной нам
         With .Offset(-2)
             .Value = .Offset(2).Resize(1).Value
             .Columns(6) = 0: Intersect(.Cells, [H:H,J:L]) = Empty
             .Cells(1, 1) = .Cells(1, 1) - 10: .Cells(2, 1) = .Cells(1, 1) + 5
             .Columns(2) = Application.Substitute(.Columns(2), "св", Application.Transpose(Array("мз", "об")))
         End With
     End With
     ' если заменить Resize(2) на Resize(1) то будет вставляться только одна строка
     Next li
     Application.ScreenUpdating = 1 'разморозили экран и он обновился
End Sub
[/vba]
К сообщению приложен файл: 31212132.xls (86.5 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеblackeangel, так нужно?
[vba]
Код
Sub Insert_Rows2()
     Dim lLastRow As Long, li As Long, i As Range ' переменные
     Application.ScreenUpdating = 0 'заморозим экран от изменений
     lLastRow = Cells(Rows.Count, 1).End(xlUp).Row 'переменной присваивается последняя строка
     For li = lLastRow To 3 Step -1 'ПЕРЕБИРАЕМ С последней до первой строки с шагом -1
     With ActiveSheet.UsedRange.Rows(li).Resize(2)
     .Insert 'добавляем 2 строки до нужной нам
         With .Offset(-2)
             .Value = .Offset(2).Resize(1).Value
             .Columns(6) = 0: Intersect(.Cells, [H:H,J:L]) = Empty
             .Cells(1, 1) = .Cells(1, 1) - 10: .Cells(2, 1) = .Cells(1, 1) + 5
             .Columns(2) = Application.Substitute(.Columns(2), "св", Application.Transpose(Array("мз", "об")))
         End With
     End With
     ' если заменить Resize(2) на Resize(1) то будет вставляться только одна строка
     Next li
     Application.ScreenUpdating = 1 'разморозили экран и он обновился
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 22.07.2015 в 20:20
krosav4ig Дата: Среда, 22.07.2015, 19:22 | Сообщение № 1519 | Тема: выстраивание в порядке убывания используя функцию если
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
а у мну чего-то монстр получился :D
Т - таблица
Код
=ЕСЛИОШИБКА(ПРОСМОТР(ИНДЕКС(НАИМЕНЬШИЙ(ЕСЛИ(Т[3]>$D$17;СТРОКА(Т);"");СТРОКА($A$1:ИНДЕКС($A:$A;СЧЁТЕСЛИ(Т[3];">"&$D$17))));ПОИСКПОЗ(НАИМЕНЬШИЙ(МУМНОЖ(Ч(ПРОСМОТР(НАИМЕНЬШИЙ(ЕСЛИ(Т[3]>$D$17;СТРОКА(Т);"");СТРОКА($A$1:ИНДЕКС($A:$A;СЧЁТЕСЛИ(Т[3];">"&$D$17))));СТРОКА(Т);Т[2]+СТРОКА(Т)%%%)>=ТРАНСП(ПРОСМОТР(НАИМЕНЬШИЙ(ЕСЛИ(Т[3]>$D$17;СТРОКА(Т);"");СТРОКА($A$1:ИНДЕКС($A:$A;СЧЁТЕСЛИ(Т[3];">"&$D$17))));СТРОКА(Т);Т[2]+СТРОКА(Т)%%%)));СТРОКА($A$1:ИНДЕКС($A:$A;СЧЁТЕСЛИ(Т[3];">"&$D$17)))^0);СТРОКА(A1));МУМНОЖ(Ч(ПРОСМОТР(НАИМЕНЬШИЙ(ЕСЛИ(Т[3]>$D$17;СТРОКА(Т);"");СТРОКА($A$1:ИНДЕКС($A:$A;СЧЁТЕСЛИ(Т[3];">"&$D$17))));СТРОКА(Т);Т[2]+СТРОКА(Т)%%%)>=ТРАНСП(ПРОСМОТР(НАИМЕНЬШИЙ(ЕСЛИ(Т[3]>$D$17;СТРОКА(Т);"");СТРОКА($A$1:ИНДЕКС($A:$A;СЧЁТЕСЛИ(Т[3];">"&$D$17))));СТРОКА(Т);Т[2]+СТРОКА(Т)%%%)));СТРОКА($A$1:ИНДЕКС($A:$A;СЧЁТЕСЛИ(Т[3];">"&$D$17)))^0);));СТРОКА(Т);Т[1]);"")


К сообщению приложен файл: _1-1-.xlsx (11.1 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Среда, 22.07.2015, 19:23
 
Ответить
Сообщениеа у мну чего-то монстр получился :D
Т - таблица
Код
=ЕСЛИОШИБКА(ПРОСМОТР(ИНДЕКС(НАИМЕНЬШИЙ(ЕСЛИ(Т[3]>$D$17;СТРОКА(Т);"");СТРОКА($A$1:ИНДЕКС($A:$A;СЧЁТЕСЛИ(Т[3];">"&$D$17))));ПОИСКПОЗ(НАИМЕНЬШИЙ(МУМНОЖ(Ч(ПРОСМОТР(НАИМЕНЬШИЙ(ЕСЛИ(Т[3]>$D$17;СТРОКА(Т);"");СТРОКА($A$1:ИНДЕКС($A:$A;СЧЁТЕСЛИ(Т[3];">"&$D$17))));СТРОКА(Т);Т[2]+СТРОКА(Т)%%%)>=ТРАНСП(ПРОСМОТР(НАИМЕНЬШИЙ(ЕСЛИ(Т[3]>$D$17;СТРОКА(Т);"");СТРОКА($A$1:ИНДЕКС($A:$A;СЧЁТЕСЛИ(Т[3];">"&$D$17))));СТРОКА(Т);Т[2]+СТРОКА(Т)%%%)));СТРОКА($A$1:ИНДЕКС($A:$A;СЧЁТЕСЛИ(Т[3];">"&$D$17)))^0);СТРОКА(A1));МУМНОЖ(Ч(ПРОСМОТР(НАИМЕНЬШИЙ(ЕСЛИ(Т[3]>$D$17;СТРОКА(Т);"");СТРОКА($A$1:ИНДЕКС($A:$A;СЧЁТЕСЛИ(Т[3];">"&$D$17))));СТРОКА(Т);Т[2]+СТРОКА(Т)%%%)>=ТРАНСП(ПРОСМОТР(НАИМЕНЬШИЙ(ЕСЛИ(Т[3]>$D$17;СТРОКА(Т);"");СТРОКА($A$1:ИНДЕКС($A:$A;СЧЁТЕСЛИ(Т[3];">"&$D$17))));СТРОКА(Т);Т[2]+СТРОКА(Т)%%%)));СТРОКА($A$1:ИНДЕКС($A:$A;СЧЁТЕСЛИ(Т[3];">"&$D$17)))^0);));СТРОКА(Т);Т[1]);"")



Автор - krosav4ig
Дата добавления - 22.07.2015 в 19:22
krosav4ig Дата: Среда, 22.07.2015, 19:07 | Сообщение № 1520 | Тема: Остаток товара не должен меняться.
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Ярик, смотрите, вдруг правильно
[vba]
Код
=ЕСЛИОШИБКА(ПРОСМОТР(;-1/(Таблица10[[#Заголовки];[склад]]:C1=C2)/(Таблица10[[#Заголовки];[товар]]:D1=D2);Таблица10[[#Заголовки];[остаток]]:H1);ЕСЛИОШИБКА(ПРОСМОТР(;-1/(Таблица1[склад]=C2)/(Таблица1[товар]=D2);Таблица1[кол-во]);))
[/vba]
К сообщению приложен файл: 9353566.xlsb (22.2 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Среда, 22.07.2015, 19:08
 
Ответить
СообщениеЯрик, смотрите, вдруг правильно
[vba]
Код
=ЕСЛИОШИБКА(ПРОСМОТР(;-1/(Таблица10[[#Заголовки];[склад]]:C1=C2)/(Таблица10[[#Заголовки];[товар]]:D1=D2);Таблица10[[#Заголовки];[остаток]]:H1);ЕСЛИОШИБКА(ПРОСМОТР(;-1/(Таблица1[склад]=C2)/(Таблица1[товар]=D2);Таблица1[кол-во]);))
[/vba]

Автор - krosav4ig
Дата добавления - 22.07.2015 в 19:07
Поиск:

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