Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 117 След.
СУММЕСЛИ не видит данные после 582 строки. Почему?
 
Цитата
Dark1589 написал:
Видимо какое-то программное ограничение, когда суммесли уже не может удержать в мозгах столько диапазонов
Все он может, вот только он вместе со смещением диапазона смещает и адреса ячеек (по ссылке это прямо англиийским по белому написано), в которых ищет результат. Обнаруживается это только в районе 582 строки, т.к. в столбце В значения только единички, а начиная с 1164 строки у ТС ячейки пустые. Получаем что в диапазоне поиска было найдено на 581 позиции соответствие, значит в диапазоне суммирования он его будет тоже искать на 581 позиции начиная со строки 582 из смещенных ячеек, а там, сюрприз, пустые ячейки.
Если бы в столбце В были бы не единички, то глюки полезли бы прям сразу.  :D
Как-то так.
Изменено: PooHkrd - 15 Ноя 2019 18:32:45
Вот горшок пустой, он предмет простой...
СУММЕСЛИ не видит данные после 582 строки. Почему?
 
Максим В., если чего-то не понимаешь, то лучше не используй эту мегафичу, и жизнь будет проще.
Вот горшок пустой, он предмет простой...
СУММЕСЛИ не видит данные после 582 строки. Почему?
 
Dark1589, нашел такое вот.
Короче говоря, если бы изначально закрепили ячейку в третьем аргументе, то все было бы ОК
Код
=СУММЕСЛИ($A$2:$A$4806;A2;$B$2)

или так:
Код
=СУММЕСЛИ(A:A;A2;B:B)
Изменено: PooHkrd - 15 Ноя 2019 17:40:38
Вот горшок пустой, он предмет простой...
СУММЕСЛИ не видит данные после 582 строки. Почему?
 
Dark1589, скажем так, я не понимаю почему та формула вообще работает до 582 строки.  :D
Вот горшок пустой, он предмет простой...
СУММЕСЛИ не видит данные после 582 строки. Почему?
 
а если так?
Код
=СУММЕСЛИ($A$2:$A$4806;A582;$B$2:$B$4806)
Вот горшок пустой, он предмет простой...
Подсчёт продаж товара по месяцам
 
Вариант со сводной и временной шкалой. Куда еще проще?
Вот горшок пустой, он предмет простой...
Соединить текст в столбцах через разделитель, если в определённом столбце идут повторы
 
Цитата
lector2140 написал:
ID не нужно сцеплять
Тут затупил, да.
Цитата
lector2140 написал:
в группировку впихнуто
Эт можно:
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Append1"]}[Content],
    GroupedRows = Table.Group(Source, {"ID"}, {{"tab", each Table.FromColumns( List.Transform( Table.ToColumns( _ ), each {Text.Combine( List.Transform( _, Text.From), "|" )} ), Table.ColumnNames( Source ) ), type table}}),
    Combine = Table.Combine( GroupedRows[tab] ),
    UniqueID = Table.TransformColumns(Combine, {{"ID", each Text.BeforeDelimiter(_, "|"), type text}})
in
    UniqueID
Вот горшок пустой, он предмет простой...
PQ, перевернуть строки в столбцы
 
Цитата
OblivionR написал:
решение нашел.
Отлично!
Ждем вас, когда в исходнике в разрезе первых двух столбцов появятся повторы.  ;) Правда тут такие случаи уже разбирались несколько десятков раз. Может и поиском найдете решение.
Вот горшок пустой, он предмет простой...
В каких случаях использовать функцию Table.Buffer в PQ?
 
Цитата
Murderface_ написал:
в первом сообщении это указывал
Это я пропустил, каюсь. Тогда бы сразу сказал что буферизация больших объемов вряд ли поможет. Ставьте 64 бит версию. И памяти, по идее, будет хватать.
Вот горшок пустой, он предмет простой...
Соединить текст в столбцах через разделитель, если в определённом столбце идут повторы
 
Можно так:
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Append1"]}[Content],
    GroupedRows = Table.Group(Source, {"ID"}, {{"tab", each _, type table}}),
    AddedCustom = Table.AddColumn(GroupedRows, "tab2", each Table.ToColumns( [tab] )),
    AddedCustom1 = Table.AddColumn(AddedCustom, "tab3", each List.Transform( [tab2], each {Text.Combine( List.Transform( _, Text.From), "|" )} ) ),
    AddedCustom2 = Table.AddColumn(AddedCustom1, "tab4", each Table.FromColumns( [tab3], Table.ColumnNames( Source ) )),
    Custom1 = Table.Combine( AddedCustom2[tab4] )
in
    Custom1

Старался максимально разделить шаги для наглядности, а так то это все можно было сразу в группировку впихнуть.
Символ разделителя указан в самом конце строки №5.
Изменено: PooHkrd - 15 Ноя 2019 15:09:53
Вот горшок пустой, он предмет простой...
Power Query. Разделение текста пробелом по условию, необходимо разделить слова по условию, где соединяются строчная и прописная буквы и др.: "аА", "а)А"
 
Андрей VG, кстати, заметил, что при работе функции от Сергея Лоссева проц загружен на 100% все 4 потока, а вот регулярки вообще его не напрягают. Почему так - ХЗ.
Вот горшок пустой, он предмет простой...
Соединить текст в столбцах через разделитель, если в определённом столбце идут повторы
 
Данные видно, а что нужно получить на выходе? Какие ячейки по какому признаку нужно соединять? По каким полям группировать?
Изменено: PooHkrd - 15 Ноя 2019 14:22:58
Вот горшок пустой, он предмет простой...
В каких случаях использовать функцию Table.Buffer в PQ?
 
Да ну на фиг, у меня в буфер влезает таблица на 6 столбцов и 5кк строк. Версия Экселя 64 бит?
Вот горшок пустой, он предмет простой...
В каких случаях использовать функцию Table.Buffer в PQ?
 
Сколько ж там строк?
Вот горшок пустой, он предмет простой...
PQ, перевернуть строки в столбцы
 
Цитата
OblivionR написал:
Числа корректные.  
Уверены?
По СПБ / купили есть 3 значения, 91/48/47, откуда в примере что должно получиться взялось значение 41? По Москве купили в исходнике нет вообще ничего, а в примере стоит 56.

Как бы если вам плевать на помогающих, то и отношение от них будет соответствующим.
Изменено: PooHkrd - 15 Ноя 2019 13:41:18
Вот горшок пустой, он предмет простой...
поставить пробел между текстом и цифрой с определённой буквой, в конце теста иногда встречаются прикреплённые цифры, их нужно отделить
 
Про количество файлов, которые вам нужно обработать в изначальном посте ничего не было.
Вы бы сразу сформулировали задачу корректно, вам бы и решения предлагали исходя из неё. А по условию задачи в текущей теме вам предложили вагон решений. Осталось только выбрать.
Вот горшок пустой, он предмет простой...
В каких случаях использовать функцию Table.Buffer в PQ?
 
Murderface_, исходя из картинки я бы рекомендовал буферизовать запрос Исходные данные.
Про буферизацию внутри запроса это очень индивидуальная штука.
Вот горшок пустой, он предмет простой...
Power Query. Разделение текста пробелом по условию, необходимо разделить слова по условию, где соединяются строчная и прописная буквы и др.: "аА", "а)А"
 
Цитата
Андрей VG написал:
Сугубо для вас просто дополняем регулярку
Огонь! Спасибо. Блин где бы взять время еще и на изучения этой темы, когда по работе оно на фиг не нужно. :D
Заделал стендик для погонялок. И сам погонял.
Вот машинка.

Вот результаты запросов из стенда. Время в секундах. Разброс аховый, но в принципе все работает довольно быстро.

Grouped это я оптимизировал свой запрос и Андрея VG , т.е. передачей в обработку значения группируются, а потом вся остальная таблица восстанавливается.
В запрос Андрея Лящук извините не лез, раз он так пишет, пусть сам и правит.  :D
Вот горшок пустой, он предмет простой...
В каких случаях использовать функцию Table.Buffer в PQ?
 
С вот этим ознакамливались?
И загрузите картинку на форум, с внешних источников я её не вижу.
Изменено: PooHkrd - 15 Ноя 2019 13:07:48
Вот горшок пустой, он предмет простой...
Соединить текст в столбцах через разделитель, если в определённом столбце идут повторы
 
lector2140, приложите пример ваших данных.
Вот горшок пустой, он предмет простой...
поставить пробел между текстом и цифрой с определённой буквой, в конце теста иногда встречаются прикреплённые цифры, их нужно отделить
 
Домкрат, и в чем проблема написать так?
Код
=ЕСЛИОШИБКА( iTowar(E18); E18 )
Вот горшок пустой, он предмет простой...
Сводная таблица на основе динамических диапазонов
 
LAV75, если Эксель 2010/2013 то можно установить надстройку, она бесплатная. Ну а если старше, тогда
Цитата
LAV75 написал:
Эх...
Вот горшок пустой, он предмет простой...
Сводная таблица вместо впр. Что делаю не так?
 
Цитата
Михаил Лебедев написал:
постарался забыть про ее существование
Как забыть? Тут регулярно помощь по сводным на основе модели данных просят и получают. Другой вопрос что ТС просто не умеет их готовить.
Вот горшок пустой, он предмет простой...
Power Query. Разделение текста пробелом по условию, необходимо разделить слова по условию, где соединяются строчная и прописная буквы и др.: "аА", "а)А"
 
Андрей VG, я правильно понимаю, что вот это Text.Combine(cols{0}, "|") нужно чтобы инициализировать regexp только один раз и за раз прогнать весь столбец. А если вызывать эту функцию для каждого значения столбца отдельно то будет сильно медленнее?
И есть ли ограничение на длину строки, которую можно обработать таким образом?
Кстати, а вы не пробовали скармливать в регулярку только список уникальных, а результат потом джойнить к исходным данным? Может так будет еще быстрее?
З.Ы. попробовал ваш вариант. Я уж развесил губу что ваш шаблон и края с областями перелопатит  8) , а их все равно надо заменять вручную. Но все равно очередное огромное спасибо за примеры с регулярками. Как припрет, хоть будет источник знаний куда припасть. А то ссылка на CamelCases висела у меня года полтора, как вы мне её скинули, и вот в первый раз пригодилась!  :D
Изменено: PooHkrd - 15 Ноя 2019 09:48:39
Вот горшок пустой, он предмет простой...
поставить пробел между текстом и цифрой с определённой буквой, в конце теста иногда встречаются прикреплённые цифры, их нужно отделить
 
Домкрат, Дык, не мудрено. Это ж не код vba. Это код запроса для power query. А вы его в модуль...
Изменено: PooHkrd - 15 Ноя 2019 10:09:55
Вот горшок пустой, он предмет простой...
поставить пробел между текстом и цифрой с определённой буквой, в конце теста иногда встречаются прикреплённые цифры, их нужно отделить
 
Домкрат, если слово "ПО" всегда пишется заглавными, то до конца, если нет, то надо будет малость поправить.
Вот горшок пустой, он предмет простой...
поставить пробел между текстом и цифрой с определённой буквой, в конце теста иногда встречаются прикреплённые цифры, их нужно отделить
 
Вымучил таки вариант для PQ:
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    Cut = Table.AddColumn(Source, "НаименованиеТовара", each Text.BeforeDelimiter([Наименование товара], "ПО", {0, 1}), type text),
    AddedTextTable = Table.AddColumn(Cut, "1", each Table.FromColumns({Text.ToList([НаименованиеТовара])}) ),
    AddedIndexedText = Table.AddColumn(AddedTextTable, "2", each Table.AddIndexColumn([1], "Индекс", 0, 1) ),
    AddedPosition = Table.AddColumn(AddedIndexedText, "3", each 
        List.Max( 
            Table.AddColumn([2], "x", each 
                if Text.Lower([Column1]) = "x" or Text.Lower([Column1]) = "х" 
                    then null 
                    else try Number.From([Column1]) + null otherwise [Индекс])[x]
        ) + 1, Int64.Type ),
    CalcText = Table.AddColumn(AddedPosition, "Наименование товара 2", each 
        if [3] = null 
            then [Наименование товара] else 
            Text.Start([Наименование товара], [3]) & " " & Text.End([Наименование товара], Text.Length([Наименование товара]) - [3])),
    Out = Table.RemoveColumns(CalcText,{"НаименованиеТовара", "1", "2", "3"})
in
    Out

Код универсальный для "х" как в латинице, так и в кириллице.
Вот горшок пустой, он предмет простой...
поставить пробел между текстом и цифрой с определённой буквой, в конце теста иногда встречаются прикреплённые цифры, их нужно отделить
 
venom51, дык я с ПО и начинаю, а вот дальше надо сканировать сочетания букв и цифр с пробелами. У ТС там кириллица но как в реале - ХЗ
Вот горшок пустой, он предмет простой...
поставить пробел между текстом и цифрой с определённой буквой, в конце теста иногда встречаются прикреплённые цифры, их нужно отделить
 
x - это всегда латиница? Или может быть кириллица?
Вот горшок пустой, он предмет простой...
Power Query. Разделение текста пробелом по условию, необходимо разделить слова по условию, где соединяются строчная и прописная буквы и др.: "аА", "а)А"
 
Как-то так:
Код
let
    fnCamelCases = (Source)=> //by Sergey Lossev https://datachant.com/2018/02/14/split-camelcase-headers-m/
    let
        to_list = Text.ToList(Source),
        to_table = Table.FromList(to_list, (x)=>{x, Text.Lower(x)=x}, {"word", "isLower"}),
        group_chars = Table.Group(to_table, {"isLower"}, {{"word", each Text.Combine([word])}}, 0, (a,b)=>if b[isLower] then 0 else 1),
        len = Table.AddColumn(group_chars, "len", each Text.Length([word])),
        group_words = Table.Group(len, {"len"}, {{"word", each Text.Combine([word])}}, 0, (a,b)=>if (a[len]=1 and b[len]=1) then 0 else 1),
        combine = Text.Combine(group_words[word], " ")
    in
        combine,
    Source = Csv.Document(Web.Contents("https://www.planetaexcel.ru/bitrix/components/bitrix/forum.interface/show_file.php?fid=367107&action=download"),[Delimiter=","]),
    PromotedHeaders = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),
    ChangedType = Table.TransformColumnTypes(PromotedHeaders,{{"subject", type text}, {"t1", type text}, {"fond", type text}, {"salary", type text}, {"monthyear", type date}, {"year", Int64.Type}}),
    Camel = Table.TransformColumns(ChangedType, {{"subject", each fnCamelCases( _ ), type text}}),
    ReplacedValue = Table.ReplaceValue(Camel,"( "," (",Replacer.ReplaceText,{"subject"}),
    ReplacedValue1 = Table.ReplaceValue(ReplacedValue,"- ","-",Replacer.ReplaceText,{"subject"}),
    ReplacedValue2 = Table.ReplaceValue(ReplacedValue1,"— ","—",Replacer.ReplaceText,{"subject"}),
    ReplacedValue3 = Table.ReplaceValue(ReplacedValue2,"край"," край",Replacer.ReplaceText,{"subject"}),
    ReplacedValue4 = Table.ReplaceValue(ReplacedValue3,"область"," область",Replacer.ReplaceText,{"subject"}),
    ReplacedValue5 = Table.ReplaceValue(ReplacedValue4,"автоном"," автоном",Replacer.ReplaceText,{"subject"}),
    ReplacedValue6 = Table.ReplaceValue(ReplacedValue5,"округ"," округ",Replacer.ReplaceText,{"subject"})
in
    ReplacedValue6
Изменено: PooHkrd - 14 Ноя 2019 17:20:07
Вот горшок пустой, он предмет простой...
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 117 След.
Наверх