Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
PowerPivot не распознает синтаксис функции Switch
 
Добрый день.


столкнулся внезапно с тем, что перестало работать когда-то созданное решение. Вернее оно работает, но любая попытка внесения изменений возвращается ошибкой.

У меня есть вот такая формула: NameOfSelectableMeasure:=SWITCH ( [MeasureSelector], 1, [Sales Value, mln UAH], 2, [Sales Volume, SU], 3, [WTD],4,[Price per diaper],5,[Value Share],6,[Volume Share] )

Любая попытка внести изменение или просто нажать клавишу Enter в строке формул возвращает ошибку:

The expression is not valid or appears to be incomplete. Please review and correct the expression.

Пошаговый анализ синтаксиса показывает, что PowerPivot не распознает значения (Value). Т.е. первую единицу в формуле он не рассматривает как значение и только значение после следующей запятой для него является значением. Если попробовать изменить значение на текстовый формат, например, "1", начинает воспринимать как значение.

Что бы это могло быть?  
DAX формула аналог vlookup
 
Добрый вечер, уважаемые форумчане!

Недавно начал пробовать работать PowerPivot и что-то очень тяжело даются мне DAX формулы. Помогите, пожалуйста, разобраться.

Имеем 2 таблицы, связанные по полю barcode:
1. Sales Data - продажи детских подгузников
2. SKU - перечень артикулов с характеристиками продукта

Задача: в своднике добавить расчетное поле, рассчитывающее цену за 1 подгузник = расчетное поле в своднике Price per Pack / pieces per pack из таблицы SKU

Во вложении пример. Буду признателен за помощь.  
Счет с измением диапазона в зависимости от критерия
 
Добрый день!

Есть 2 массива данных с одинаковыми наименованиями полей, но разным их кол-вом. Необходимо рассчитать кол-во ячеек со значением больше 0 в поле 2-го массива и со значением больше 0 в поле с аналогичным названием 1-го массива.

Возможно, на примере во вложении будет понятно. Я решаю эту задачу вложенным If. Можно сделать созданием еще одной таблицы, где будут перемножаться значения и зачем считать значения из этой таблицы, но уверен, что должно быть более элегантное решение. Результат моего расчета в желтых ячейках.

К сожалению, ничего похожего не нашел, но очень интересно, можно ли решить эту задачу проще.
формула If(AND(... vba
 
Подскажите пжста, что может быть не так в этой формуле.

Код
quadrantRange.Value = "=IF(AND(" & startCell.Offset(0, -6).Address(False, False) & " = """")," & startCell.Offset(0, -3).Address(False, False) & " = """"),""hide"","""")"


при попытке запуска получаю вот такое сообщение.
Как добавить формулу IFERROR (vba)?
 
Уважаемые форумчане,

пытаюсь немного допилить чужой профессионально сделанный код в vba. Задача добавить ф-цию iferror, чтобы избежать ошибок при пересчете. При попытке добавить ф-цию iferror эксель выдает ошибку 1004. Наверное что-то делаю не так.

Ниже исходный код:
Код
' Use a template version of the formula and replace the parameters with the proper values
    ' Using a template version because the same formula is used in 3 different columns
    ' Only the Column Id is different in each one
    Dim quadrantFormula     As String
    quadrantFormula = "=INDEX(Analysis!$$$COLUMNID$$$7:$$$COLUMNID$$$$LASTROW$$,SMALL(IF((Analysis!$F$7:$F$$$LASTROWWITHOFFSET$$=""$$QUADRANTCODE$$""),ROW($1:$$$LASTROW$$)),ROW()-$$STARTROWOFFSET$$))"

    Dim formulaToUse        As String
    quadrantFormula = Replace(quadrantFormula, "$$LASTROWWITHOFFSET$$", lastRow + 6)
    quadrantFormula = Replace(quadrantFormula, "$$LASTROW$$", lastRow)
    quadrantFormula = Replace(quadrantFormula, "$$STARTROWOFFSET$$", startRow)
    quadrantFormula = Replace(quadrantFormula, "$$QUADRANTCODE$$", quadrantCode)

    ' This portion is used to set the Formulae of the Quadrant (starting at 1 row lower than the one above)

    ' Product Name
    formulaToUse = Replace(quadrantFormula, "$$COLUMNID$$", "B")
    Set quadrantRange = quadrantSheet.Range(quadrantSheet.Cells(startRow + 1, startCol), quadrantSheet.Cells(startRow + lastRow, startCol))
    quadrantRange.FormulaArray = formulaToUse

    ' ROS
    formulaToUse = Replace(quadrantFormula, "$$COLUMNID$$", "D")
    Set quadrantRange = quadrantSheet.Range(quadrantSheet.Cells(startRow + 1, startCol + 1), quadrantSheet.Cells(startRow + lastRow, startCol + 1))
    quadrantRange.FormulaArray = formulaToUse
    quadrantRange.NumberFormat = "0"

    ' WD
    formulaToUse = Replace(quadrantFormula, "$$COLUMNID$$", "E")
    Set quadrantRange = quadrantSheet.Range(quadrantSheet.Cells(startRow + 1, startCol + 2), quadrantSheet.Cells(startRow + lastRow, startCol + 2))
    quadrantRange.FormulaArray = formulaToUse
    quadrantRange.NumberFormat = "0"

я изменяю 2-ю строчку кода следующим образом:
   
Код
quadrantFormula = "=IFERROR(INDEX(Analysis!$$$COLUMNID$$$7:$$$COLUMNID$$$$LASTROW$$,SMALL(IF((Analysis!$F$7:$F$$$LASTROWWITHOFFSET$$=""$$QUADRANTCODE$$""),ROW($1:$$$LASTROW$$)),ROW()-$$STARTROWOFFSET$$));"")"


В ответ получаю ошибку (скриншот во вложении). Что я делаю не так?
Изменено: george235 - 24.04.2015 22:50:15
Сообщение "Нельзя изменять часть массива"
 
Добрый вечер, уважаемые форумчане!

Нашел решение своего кейса (http://www.planetaexcel.ru/techniques/2/81/), но у меня оно почему-то не хочет работать.
К сожалению, не могу загрузить сюда файл, т.к. он слишком большой. Попробую описать иначе.

Во вложении скриншот с формулой. Саму формулу эксель берет в фигурные скобки и при попытке добавления ф-ции ЕСЛИОШИБКА выдает сообщение "Нельзя изменять часть массива"

Это как-то можно вылечить?
макрос добаляющий строку в таблицу
 
Уважаемые форумчане, знаю, что вопрос обсуждался и есть в архивах. Но у меня не получилось до конца разобраться, поэтому решусь поднять эту тему.
У меня есть 3 таблицы с формулами. Мне необходимо сделать так, чтобы при нажатии кнопки добавлялась строка в каждую из них с сохранением формата и формул предыдущих строк каждой из таблиц.
Нашел в архиве вот это решение:  Range("A10:J10").Offset(1).EntireRow.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Вроде работает, но начиная со второй строки подставляет строки выше последней.
Насколько я понимаю, необходимо задать переменную которой нужно присвоить в цикле номер последней строки в таблице и которую нужно добавить в диапазон вместо ("A10:J10"). Понимаю, вижу похожие решения, но ничего не получается сделать.

Буду признателен за подсказку.
средненедельный объем продаж за выбранный диапазон дат
 
Доброе утро, уважаемые форумчане!
Несколько дней читаю форум, много полезного научился делать, но задачу свою так и не решил.

Исходные данные:
Имеется несколько артикулов товаров (SKU1, SKU2 и т.д.), по каждому артикулу есть продажи за каждую из 52 недель года.
Задача: найти средненедельные продажи за выбранный диапазон дат (недель). Например, пользователь выбирает диапазон 2 неделя и 4 неделя и формула считает средненедельные продажи за этот период.

Научился возвращать с помощью ф-ций индекс и поискпоз данные за одну любую неделю, но с диапазоном не разобрался. Пытался совместить с ф-цией срзначеслимн, но безуспешно.

Пример файла во вложении.
Страницы: 1
Наверх