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

Вход

Регистрация

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

 

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

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

Excel 2007,2010,2013
для разнобразия
сложение
Код
=ТЕКСТ(СУММ(ОСТАТ(ОТБР(ОСТАТ(ОТБР(СУММПРОИЗВ(ТЕКСТ(ПОДСТАВИТЬ(ТЕКСТ(A10:B10;"00\:00\:00\,00");":";",";3);"[с]")*25+ПРАВБ(A10:B10;2))/25^{1;1;1;0})/60^{2;1;0;0};60))*10^{6;4;2;0};9^9^{1;1;1;0}*25));"00\:00\:00\:00")

вычитание
Код
=ТЕКСТ(СУММ(ОСТАТ(ОТБР(ОСТАТ(ОТБР(СУММПРОИЗВ(ТЕКСТ(ПОДСТАВИТЬ(ТЕКСТ(A10:B10;"00\:00\:00\,00");":";",";3);"[с]")*25+ПРАВБ(A10:B10;2);{-1;1})/25^{1;1;1;0})/60^{2;1;0;0};9^9^{0;0;0;1}*60))*10^{6;4;2;0};9^9^{1;1;1;0}*25));"00\:00\:00\:00")
К сообщению приложен файл: 0233677.xlsx (12.1 Kb)


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

Сообщение отредактировал krosav4ig - Вторник, 24.01.2017, 03:09
 
Ответить
Сообщениедля разнобразия
сложение
Код
=ТЕКСТ(СУММ(ОСТАТ(ОТБР(ОСТАТ(ОТБР(СУММПРОИЗВ(ТЕКСТ(ПОДСТАВИТЬ(ТЕКСТ(A10:B10;"00\:00\:00\,00");":";",";3);"[с]")*25+ПРАВБ(A10:B10;2))/25^{1;1;1;0})/60^{2;1;0;0};60))*10^{6;4;2;0};9^9^{1;1;1;0}*25));"00\:00\:00\:00")

вычитание
Код
=ТЕКСТ(СУММ(ОСТАТ(ОТБР(ОСТАТ(ОТБР(СУММПРОИЗВ(ТЕКСТ(ПОДСТАВИТЬ(ТЕКСТ(A10:B10;"00\:00\:00\,00");":";",";3);"[с]")*25+ПРАВБ(A10:B10;2);{-1;1})/25^{1;1;1;0})/60^{2;1;0;0};9^9^{0;0;0;1}*60))*10^{6;4;2;0};9^9^{1;1;1;0}*25));"00\:00\:00\:00")

Автор - krosav4ig
Дата добавления - 24.01.2017 в 03:03
krosav4ig Дата: Суббота, 21.01.2017, 19:53 | Сообщение № 922 | Тема: Макрос на вычитание рандомного числа из диапазона
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Здравствуйте
Подскажите, как решить такую задачу

1 Вставить кнопку
2 В обработчик нажатия кнопки написать макрос, который будет из показателя 1 вычитать рандомное число от 1 до 10 и прибавлять рандомное число от 1 до 10 к показателю 2 с учетом максимального значения показателей
[p.s.]Тыц


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

Сообщение отредактировал krosav4ig - Суббота, 21.01.2017, 20:04
 
Ответить
СообщениеЗдравствуйте
Подскажите, как решить такую задачу

1 Вставить кнопку
2 В обработчик нажатия кнопки написать макрос, который будет из показателя 1 вычитать рандомное число от 1 до 10 и прибавлять рандомное число от 1 до 10 к показателю 2 с учетом максимального значения показателей
[p.s.]Тыц

Автор - krosav4ig
Дата добавления - 21.01.2017 в 19:53
krosav4ig Дата: Суббота, 21.01.2017, 16:42 | Сообщение № 923 | Тема: Access2010 запрос на выборку
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
[offtop]
а смысл в группировке?
Без понятия, видимо мой моск уже спал в это время :) [/offtop]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение[offtop]
а смысл в группировке?
Без понятия, видимо мой моск уже спал в это время :) [/offtop]

Автор - krosav4ig
Дата добавления - 21.01.2017 в 16:42
krosav4ig Дата: Суббота, 21.01.2017, 03:23 | Сообщение № 924 | Тема: Access2010 запрос на выборку
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Здравствуйте
В стандартный модуль код (взят отсюда)
[vba]
Код
Option Compare Database

Function Concatenate(pstrSQL As String, _
        Optional pstrDelim As String = ", ") _
        As String
    'Created by Duane Hookom, 2003
    'this code may be included in any application/mdb providing
    '   this statement is left intact
    'example
    'tblFamily with FamID as numeric primary key
    'tblFamMem with FamID, FirstName, DOB,...
    'return a comma separated list of FirstNames
    'for a FamID
    ' John, Mary, Susan
    'in a Query
    'SELECT FamID,
    'Concatenate("SELECT FirstName FROM tblFamMem
    ' WHERE FamID =" & [FamID]) as FirstNames
    'FROM tblFamily
    '
    
    '======For DAO uncomment next 4 lines=======
    '====== comment out ADO below =======
    'Dim db As DAO.Database
    'Dim rs As DAO.Recordset
    'Set db = CurrentDb
    'Set rs = db.OpenRecordset(pstrSQL)
    
    '======For ADO uncomment next two lines=====
    '====== comment out DAO above ======
    Dim rs As New ADODB.Recordset
    rs.Open pstrSQL, CurrentProject.Connection, _
    adOpenKeyset, adLockOptimistic
    Dim strConcat As String 'build return string
    With rs
        If Not .EOF Then
            .MoveFirst
            Do While Not .EOF
                strConcat = strConcat & _
                .Fields(0) & pstrDelim
                .MoveNext
            Loop
        End If
        .Close
    End With
    Set rs = Nothing
    '====== uncomment next line for DAO ========
    'Set db = Nothing
    If Len(strConcat) > 0 Then
        strConcat = Left(strConcat, _
        Len(strConcat) - Len(pstrDelim))
    End If
    Concatenate = strConcat
End Function
[/vba]
и SQL код запроса [vba]
Код
SELECT *
FROM
    (SELECT
        СЧ,
        x1,
        x2,
        x3,
        Concatenate(
            "SELECT
                [КОД]
            FROM
                [Таблица2]
            WHERE
                '"&x1&"' LIKE IIF(xx1 IS NULL OR cStr(xx1)='','%',cStr(xx1)) AND
                '"&x2&"' LIKE IIF(xx2 IS NULL OR cStr(xx2)='','%',cStr(xx2)) AND
                '"&x3&"' LIKE IIF(xx3 IS NULL OR cStr(xx3)='','%',cStr(xx3))
            ORDER BY КОД"
        ) AS ИТОГ
    FROM
        Таблица1
    GROUP BY
        СЧ,
        x1,
        x2,
        x3
    ORDER BY СЧ)  AS t1
WHERE ИТОГ<>'';
[/vba]
К сообщению приложен файл: 3313549.zip (43.1 Kb)


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

Сообщение отредактировал krosav4ig - Суббота, 21.01.2017, 03:25
 
Ответить
СообщениеЗдравствуйте
В стандартный модуль код (взят отсюда)
[vba]
Код
Option Compare Database

Function Concatenate(pstrSQL As String, _
        Optional pstrDelim As String = ", ") _
        As String
    'Created by Duane Hookom, 2003
    'this code may be included in any application/mdb providing
    '   this statement is left intact
    'example
    'tblFamily with FamID as numeric primary key
    'tblFamMem with FamID, FirstName, DOB,...
    'return a comma separated list of FirstNames
    'for a FamID
    ' John, Mary, Susan
    'in a Query
    'SELECT FamID,
    'Concatenate("SELECT FirstName FROM tblFamMem
    ' WHERE FamID =" & [FamID]) as FirstNames
    'FROM tblFamily
    '
    
    '======For DAO uncomment next 4 lines=======
    '====== comment out ADO below =======
    'Dim db As DAO.Database
    'Dim rs As DAO.Recordset
    'Set db = CurrentDb
    'Set rs = db.OpenRecordset(pstrSQL)
    
    '======For ADO uncomment next two lines=====
    '====== comment out DAO above ======
    Dim rs As New ADODB.Recordset
    rs.Open pstrSQL, CurrentProject.Connection, _
    adOpenKeyset, adLockOptimistic
    Dim strConcat As String 'build return string
    With rs
        If Not .EOF Then
            .MoveFirst
            Do While Not .EOF
                strConcat = strConcat & _
                .Fields(0) & pstrDelim
                .MoveNext
            Loop
        End If
        .Close
    End With
    Set rs = Nothing
    '====== uncomment next line for DAO ========
    'Set db = Nothing
    If Len(strConcat) > 0 Then
        strConcat = Left(strConcat, _
        Len(strConcat) - Len(pstrDelim))
    End If
    Concatenate = strConcat
End Function
[/vba]
и SQL код запроса [vba]
Код
SELECT *
FROM
    (SELECT
        СЧ,
        x1,
        x2,
        x3,
        Concatenate(
            "SELECT
                [КОД]
            FROM
                [Таблица2]
            WHERE
                '"&x1&"' LIKE IIF(xx1 IS NULL OR cStr(xx1)='','%',cStr(xx1)) AND
                '"&x2&"' LIKE IIF(xx2 IS NULL OR cStr(xx2)='','%',cStr(xx2)) AND
                '"&x3&"' LIKE IIF(xx3 IS NULL OR cStr(xx3)='','%',cStr(xx3))
            ORDER BY КОД"
        ) AS ИТОГ
    FROM
        Таблица1
    GROUP BY
        СЧ,
        x1,
        x2,
        x3
    ORDER BY СЧ)  AS t1
WHERE ИТОГ<>'';
[/vba]

Автор - krosav4ig
Дата добавления - 21.01.2017 в 03:23
krosav4ig Дата: Пятница, 20.01.2017, 22:42 | Сообщение № 925 | Тема: Непонятное появление шрифта Calibri в абзацах
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Здравствуйте
откуда берётся этот "Calibri"?
У вас стили основаны на стиле Обычный, может там собака порылась?


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

Сообщение отредактировал krosav4ig - Суббота, 21.01.2017, 06:25
 
Ответить
СообщениеЗдравствуйте
откуда берётся этот "Calibri"?
У вас стили основаны на стиле Обычный, может там собака порылась?

Автор - krosav4ig
Дата добавления - 20.01.2017 в 22:42
krosav4ig Дата: Пятница, 20.01.2017, 18:17 | Сообщение № 926 | Тема: Вывод всех возможных пересекающихся значений из 2 столбцов
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Перестановки без повторов подойдут? Если да, то как-то так можно
[vba]
Код
Function Комбинации(ParamArray ParArr() As Variant) As Variant
    Application.Volatile False
    Dim ArrA(), ArrB(), ArrC(), CountArr&, x&, i&, j&
    CountArr = UBound(ParArr): ReDim ArrB(CountArr), ArrC(CountArr)
    For i = 0 To CountArr
        ArrC(i) = ParArr(i).Count: ArrB(i) = ArrC(i)
        If i > 0 Then ArrB(i) = ArrB(i - 1) * ArrB(i)
    Next
    ReDim ArrA(ArrB(CountArr) - 1, CountArr)
    For i = 0 To ArrB(CountArr) - 1
        For j = 0 To CountArr
            x = 1: If j > 0 Then x = ArrB(j - 1)
            ArrA(i, j) = ParArr(j).Cells(Int(i / x) Mod ArrC(j) + 1)
        Next
    Next
    Комбинации= ArrA()
End Function
[/vba]
К сообщению приложен файл: combinations.xlsm (18.0 Kb)


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

Сообщение отредактировал krosav4ig - Пятница, 20.01.2017, 18:23
 
Ответить
СообщениеПерестановки без повторов подойдут? Если да, то как-то так можно
[vba]
Код
Function Комбинации(ParamArray ParArr() As Variant) As Variant
    Application.Volatile False
    Dim ArrA(), ArrB(), ArrC(), CountArr&, x&, i&, j&
    CountArr = UBound(ParArr): ReDim ArrB(CountArr), ArrC(CountArr)
    For i = 0 To CountArr
        ArrC(i) = ParArr(i).Count: ArrB(i) = ArrC(i)
        If i > 0 Then ArrB(i) = ArrB(i - 1) * ArrB(i)
    Next
    ReDim ArrA(ArrB(CountArr) - 1, CountArr)
    For i = 0 To ArrB(CountArr) - 1
        For j = 0 To CountArr
            x = 1: If j > 0 Then x = ArrB(j - 1)
            ArrA(i, j) = ParArr(j).Cells(Int(i / x) Mod ArrC(j) + 1)
        Next
    Next
    Комбинации= ArrA()
End Function
[/vba]

Автор - krosav4ig
Дата добавления - 20.01.2017 в 18:17
krosav4ig Дата: Вторник, 17.01.2017, 17:52 | Сообщение № 927 | Тема: Формула на поиск совпадений списка слов в списке предложений
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Здравствуйте
так нужно?
Код
=ЕСЛИОШИБКА(ИНДЕКС(Вокабуляр!$B:$B;НАИМЕНЬШИЙ(ЕСЛИ(СЧЁТЕСЛИ(Текст!$A1;"*"&Вокабуляр!$A$2:$A$20&"*");СТРОКА(Вокабуляр!$A$2:$A$20));СТОЛБЕЦ(Текст!A1)));"")
К сообщению приложен файл: 9645056.xls (45.0 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеЗдравствуйте
так нужно?
Код
=ЕСЛИОШИБКА(ИНДЕКС(Вокабуляр!$B:$B;НАИМЕНЬШИЙ(ЕСЛИ(СЧЁТЕСЛИ(Текст!$A1;"*"&Вокабуляр!$A$2:$A$20&"*");СТРОКА(Вокабуляр!$A$2:$A$20));СТОЛБЕЦ(Текст!A1)));"")

Автор - krosav4ig
Дата добавления - 17.01.2017 в 17:52
krosav4ig Дата: Воскресенье, 15.01.2017, 05:40 | Сообщение № 928 | Тема: Excel неправильно считает формулу
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Здравствуйте
в чем загвоздка и как ее устранить?
вот тут почитайте


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

Автор - krosav4ig
Дата добавления - 15.01.2017 в 05:40
krosav4ig Дата: Суббота, 14.01.2017, 01:39 | Сообщение № 929 | Тема: Вагоны поезда Загадка.
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
И уж больно похоже на метку...
неа, это машинист запомнил, был ли включен свет в вагоне, с которого начал обход
А с файлом рабочим?
А не было его, на коленке писал. Сейчас сделал, но код не оптимизировал.
К сообщению приложен файл: 3670703.xlsm (47.5 Kb)


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

Сообщение отредактировал krosav4ig - Суббота, 14.01.2017, 01:44
 
Ответить
Сообщение
И уж больно похоже на метку...
неа, это машинист запомнил, был ли включен свет в вагоне, с которого начал обход
А с файлом рабочим?
А не было его, на коленке писал. Сейчас сделал, но код не оптимизировал.

Автор - krosav4ig
Дата добавления - 14.01.2017 в 01:39
krosav4ig Дата: Вторник, 10.01.2017, 17:43 | Сообщение № 930 | Тема: Вагоны поезда Загадка.
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013


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

Сообщение отредактировал krosav4ig - Вторник, 10.01.2017, 17:58
 
Ответить
Сообщение

Автор - krosav4ig
Дата добавления - 10.01.2017 в 17:43
krosav4ig Дата: Воскресенье, 08.01.2017, 22:17 | Сообщение № 931 | Тема: Формирование подложки - из картинки на листе.
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
You must select a picture

ну дык чего не понятно-то?
Ведь черным по-англиццки написано "Вы должны выделить изображение"
Выделил картинку, запустил макрос, получил выделенную картинку в подложке


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

Сообщение отредактировал krosav4ig - Воскресенье, 08.01.2017, 22:19
 
Ответить
Сообщение
You must select a picture

ну дык чего не понятно-то?
Ведь черным по-англиццки написано "Вы должны выделить изображение"
Выделил картинку, запустил макрос, получил выделенную картинку в подложке

Автор - krosav4ig
Дата добавления - 08.01.2017 в 22:17
krosav4ig Дата: Воскресенье, 08.01.2017, 18:25 | Сообщение № 932 | Тема: Формирование подложки - из картинки на листе.
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
модуль modPastePicture спёр тут

[vba]
Код
Sub Подложка()
    Dim sFile$: sFile = Environ("tmp") & "\tmp.bmp"
    Лист3.[Рисунок 1].CopyPicture xlScreen, xlBitmap
    DoEvents: SavePicture PastePicture(xlBitmap), sFile
    DoEvents: Лист3.SetBackgroundPicture sFile
    DoEvents: Kill sFile
End Sub
[/vba]
К сообщению приложен файл: 5435345-.xlsm (98.9 Kb)


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

Сообщение отредактировал krosav4ig - Воскресенье, 08.01.2017, 18:25
 
Ответить
Сообщениемодуль modPastePicture спёр тут

[vba]
Код
Sub Подложка()
    Dim sFile$: sFile = Environ("tmp") & "\tmp.bmp"
    Лист3.[Рисунок 1].CopyPicture xlScreen, xlBitmap
    DoEvents: SavePicture PastePicture(xlBitmap), sFile
    DoEvents: Лист3.SetBackgroundPicture sFile
    DoEvents: Kill sFile
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 08.01.2017 в 18:25
krosav4ig Дата: Суббота, 07.01.2017, 06:04 | Сообщение № 933 | Тема: Локализация и как с ней бороться
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
как вариант, можно в диспетчер имен воткнуть
Код
Г    =ИНДЕКС(ПОЛУЧИТЬ.РАБОЧЕЕ.ПРОСТРАНСТВО(37);19)
Код
Д    =ИНДЕКС(ПОЛУЧИТЬ.РАБОЧЕЕ.ПРОСТРАНСТВО(37);21)
Код
М    =ИНДЕКС(ПОЛУЧИТЬ.РАБОЧЕЕ.ПРОСТРАНСТВО(37);20)
а в формулу такую кракозябру
Код
=Д&Д&"."&М&М&"."&Г&Г&Г&Г


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

Сообщение отредактировал krosav4ig - Суббота, 07.01.2017, 06:05
 
Ответить
Сообщениекак вариант, можно в диспетчер имен воткнуть
Код
Г    =ИНДЕКС(ПОЛУЧИТЬ.РАБОЧЕЕ.ПРОСТРАНСТВО(37);19)
Код
Д    =ИНДЕКС(ПОЛУЧИТЬ.РАБОЧЕЕ.ПРОСТРАНСТВО(37);21)
Код
М    =ИНДЕКС(ПОЛУЧИТЬ.РАБОЧЕЕ.ПРОСТРАНСТВО(37);20)
а в формулу такую кракозябру
Код
=Д&Д&"."&М&М&"."&Г&Г&Г&Г

Автор - krosav4ig
Дата добавления - 07.01.2017 в 06:04
krosav4ig Дата: Четверг, 05.01.2017, 03:05 | Сообщение № 934 | Тема: трехуровенный выбор без ЕСЛИ
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
До кучи
Код
=ОКРУГЛ(ПРОСМОТР(A1;{0:50:151};(A1*99%-{0:50:150})*{0:8:13}%+{0:0:8});2)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеДо кучи
Код
=ОКРУГЛ(ПРОСМОТР(A1;{0:50:151};(A1*99%-{0:50:150})*{0:8:13}%+{0:0:8});2)

Автор - krosav4ig
Дата добавления - 05.01.2017 в 03:05
krosav4ig Дата: Среда, 04.01.2017, 01:43 | Сообщение № 935 | Тема: Суммирование по нескольким условиям
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
ну, тогда так, наверно
[vba]
Код
=SUMPRODUCT(IF(MMULT(IFERROR(SEARCH(SPLIT(B9;";");'Выписка'!E:E);0);TRANSPOSE(SEARCH("*";SPLIT(B9;";"))));'Выписка'!I:I))
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениену, тогда так, наверно
[vba]
Код
=SUMPRODUCT(IF(MMULT(IFERROR(SEARCH(SPLIT(B9;";");'Выписка'!E:E);0);TRANSPOSE(SEARCH("*";SPLIT(B9;";"))));'Выписка'!I:I))
[/vba]

Автор - krosav4ig
Дата добавления - 04.01.2017 в 01:43
krosav4ig Дата: Среда, 04.01.2017, 00:14 | Сообщение № 936 | Тема: Суммирование по нескольким условиям
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Здравствуйте
Нужно, чтобы суммировались только те записи, для которых выполняются все условия из ячейки?
Если да, то формула может быть такой [vba]
Код
=SUMPRODUCT(IF(MMULT(ISERR(SEARCH(SPLIT(B9;";");'Выписка'!E:E))%;TRANSPOSE(SEARCH("*";SPLIT(B9;";"))));;'Выписка'!I:I))
[/vba]


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

Сообщение отредактировал krosav4ig - Среда, 04.01.2017, 00:16
 
Ответить
СообщениеЗдравствуйте
Нужно, чтобы суммировались только те записи, для которых выполняются все условия из ячейки?
Если да, то формула может быть такой [vba]
Код
=SUMPRODUCT(IF(MMULT(ISERR(SEARCH(SPLIT(B9;";");'Выписка'!E:E))%;TRANSPOSE(SEARCH("*";SPLIT(B9;";"))));;'Выписка'!I:I))
[/vba]

Автор - krosav4ig
Дата добавления - 04.01.2017 в 00:14
krosav4ig Дата: Понедельник, 02.01.2017, 04:09 | Сообщение № 937 | Тема: Макрос суммирования...
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
как-то так можно
[vba]
Код
Option Base 1
Sub Сумма()
    Dim arr As Variant, i&, s$, d&
    With [B5].CurrentRegion
        With Intersect(.Offset(1), .Cells)
            arr = .Value
            With CreateObject("Scripting.Dictionary")
                For i = 1 To UBound(arr)
                    s = CStr(arr(i, 1))
                    d = arr(i, 3) - arr(i, 4)
                    arr(i, 5) = 0
                    If .Exists(s) Then
                        arr(.Item(s), 5) = arr(.Item(s), 5) + d
                        arr(i, 5) = 0
                    Else
                        arr(i, 5) = d
                        .Item(s) = i
                    End If
                Next i
            End With
            .Value = arr
        End With
    End With
End Sub
[/vba]
а еще можно немассивную формулу написать
для F6 формула
Код
=ЕСЛИ(СЧЁТЕСЛИ($B$5:B5;B6);"";СУММЕСЛИ($B$6:$B$14;B6;$D$6:$D$14)-СУММЕСЛИ($B$6:$B$14;B6;$E$6:$E$14))


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениекак-то так можно
[vba]
Код
Option Base 1
Sub Сумма()
    Dim arr As Variant, i&, s$, d&
    With [B5].CurrentRegion
        With Intersect(.Offset(1), .Cells)
            arr = .Value
            With CreateObject("Scripting.Dictionary")
                For i = 1 To UBound(arr)
                    s = CStr(arr(i, 1))
                    d = arr(i, 3) - arr(i, 4)
                    arr(i, 5) = 0
                    If .Exists(s) Then
                        arr(.Item(s), 5) = arr(.Item(s), 5) + d
                        arr(i, 5) = 0
                    Else
                        arr(i, 5) = d
                        .Item(s) = i
                    End If
                Next i
            End With
            .Value = arr
        End With
    End With
End Sub
[/vba]
а еще можно немассивную формулу написать
для F6 формула
Код
=ЕСЛИ(СЧЁТЕСЛИ($B$5:B5;B6);"";СУММЕСЛИ($B$6:$B$14;B6;$D$6:$D$14)-СУММЕСЛИ($B$6:$B$14;B6;$E$6:$E$14))

Автор - krosav4ig
Дата добавления - 02.01.2017 в 04:09
krosav4ig Дата: Воскресенье, 01.01.2017, 00:42 | Сообщение № 938 | Тема: С Новым Годом!
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
С новым годом! Счастья, мира, добра, любви, достатка в каждый дом! Пусть исполнятся все ваши желания!


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеС новым годом! Счастья, мира, добра, любви, достатка в каждый дом! Пусть исполнятся все ваши желания!

Автор - krosav4ig
Дата добавления - 01.01.2017 в 00:42
krosav4ig Дата: Суббота, 31.12.2016, 16:04 | Сообщение № 939 | Тема: Размещение диаграммы на форме.
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
модуль modPastePicture, спёр отсюда (файл PastePicture.zip)

в модуль листа Лист3
[vba]
Код
Public WithEvents Chrt As Chart
Private Sub Chrt_Calculate()
    UserForm1.UpdateChart
End Sub
[/vba]
в UserForm1
[vba]
Код
Private Sub UserForm_Initialize()
    Set Лист3.Chrt = Лист3.ChartObjects(1).Chart
    UpdateChart
End Sub
Public Sub UpdateChart()
    Лист3.Chrt.CopyPicture xlScreen, xlPicture, xlScreen
    Set Image1.Picture = PastePicture(xlPicture)
End Sub
[/vba]
К сообщению приложен файл: 0091065.xls (80.0 Kb)


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

Сообщение отредактировал krosav4ig - Суббота, 31.12.2016, 16:08
 
Ответить
Сообщениемодуль modPastePicture, спёр отсюда (файл PastePicture.zip)

в модуль листа Лист3
[vba]
Код
Public WithEvents Chrt As Chart
Private Sub Chrt_Calculate()
    UserForm1.UpdateChart
End Sub
[/vba]
в UserForm1
[vba]
Код
Private Sub UserForm_Initialize()
    Set Лист3.Chrt = Лист3.ChartObjects(1).Chart
    UpdateChart
End Sub
Public Sub UpdateChart()
    Лист3.Chrt.CopyPicture xlScreen, xlPicture, xlScreen
    Set Image1.Picture = PastePicture(xlPicture)
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 31.12.2016 в 16:04
krosav4ig Дата: Суббота, 31.12.2016, 02:02 | Сообщение № 940 | Тема: Сохранение Веб-страницы
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

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

можно вот так
[vba]
Код
Sub toWeb()
    Dim sh As Worksheet
    For Each sh In ThisWorkbook.Sheets
        With ThisWorkbook.PublishObjects.Add(xlSourceRange, _
            ThisWorkbook.Path & "\" & sh.Name & ".htm", sh.Name, sh.UsedRange.address, _
            xlHtmlStatic, ThisWorkbook.Name & "_" & sh.Name, "")
            .Publish (True)
            .AutoRepublish = False
        End With
    Next sh
End Sub
[/vba]


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

можно вот так
[vba]
Код
Sub toWeb()
    Dim sh As Worksheet
    For Each sh In ThisWorkbook.Sheets
        With ThisWorkbook.PublishObjects.Add(xlSourceRange, _
            ThisWorkbook.Path & "\" & sh.Name & ".htm", sh.Name, sh.UsedRange.address, _
            xlHtmlStatic, ThisWorkbook.Name & "_" & sh.Name, "")
            .Publish (True)
            .AutoRepublish = False
        End With
    Next sh
End Sub
[/vba]

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

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