Есть ли такие вещи как переменные в Формуле Excel?

Вы слишком усложняете процесс здесь? Я думаю, что вы можете просто использовать xsl:for-each-group, чтобы получить нужные вам значения, без необходимости создавать строку, а затем разбивать ее.

<xsl:for-each-group select="Screening" group-by="@type">
  <xsl:for-each-group select="current-group()" group-by="string(@subtype)">
    <xsl:value-of select="concat('Processing ', @type, ' - ', @subtype, '&#10;')" />
  </xsl:for-each-group>
</xsl:for-each-group>

Обратите внимание, что, если вы действительно хотите создать строку с разделителем в виде трубы, вы бы сделали это ...

<xsl:variable name="distinct" select="string-join(distinct-values(Screening/concat(@type, '-', @subtype)), '|')" />
37
задан SandPiper 22 December 2018 в 19:56
поделиться

5 ответов

Обширные руководящие указания и обзоры «технического руководства», «проектного руководства» и / или QA.

Сделайте руководящие принципы «динамическими» и поддерживайте их точность и актуальность, в нашей компании мы используем Wiki для таких задач совместной работы.

$ B ).

Примечание:

  1. Для более новых версий Excel с лентой перейдите на ленту Формулы -> Определить имя. Это то же самое после этого. Кроме того, чтобы использовать свое имя, вы можете выполнить «Использовать в формуле» прямо в разделе «Определить имя» при редактировании формулы или начать вводить ее, и Excel предложит имя (кредиты: Michael Rusch)

  2. Сокращенные шаги: 1. Щелкните правой кнопкой мыши ячейку и выберите Определить имя ... 2. Введите имя и формулу, которую вы хотите связать с этим именем / локальной переменной 3. Используйте переменную (credits: Jens Bodal)

37
ответ дан 27 November 2019 в 04:56
поделиться

A function can be in-lined into a SQL statement, e.g.

select foo
      ,fn_bar (foo)
  from foobar

Which cannot be done with a stored procedure. The architecture of the query optimiser limits what can be done with functions in this context, requiring that they are pure (i.e. the same inputs always produce the same output). This restricts what can be done in the function, but allows it to be used in-line in the query if it is defined to be "pure".

Otherwise, a function (not necessarily deterministic) can return a variable or a result set. In the case of a function returning a result set, you can join it against some other selection in a query. However, you cannot use a non-deterministic function like this in a correlated subquery as the optimiser cannot predict what sort of result set will be returned (this is computationally intractable, like the halting problem).

способ определения переменной в строке формул Excel. В качестве обходного пути вы можете поместить функцию в другую ячейку (по желанию, скрыть содержимое или поместить его на отдельный лист). В противном случае вы можете создать функцию VBA .

0
ответ дан 27 November 2019 в 04:56
поделиться

Да. Но не напрямую.

Более простой способ

  • Вы можете разместить Vlookup () в одной ячейке и использовать его адрес там, где это необходимо. - Это, пожалуй, единственный прямой способ использования переменных в Excel.

ИЛИ

  • Вы можете определить Vlookup (reference) -10 как функцию-оболочку из макросов VBE. Нажмите Alt + f12 и используйте эту функцию
1
ответ дан 27 November 2019 в 04:56
поделиться

Вы можете сохранить промежуточные значения в ячейка или столбец (который можно скрыть, если вы выберете)

C1: = VLOOKUP(A1, B:B, 1, 0)
D1: = IF(C1 > 10, C1 - 10, C1)
4
ответ дан 27 November 2019 в 04:56
поделиться

Два варианта:

  • VLOOKUP функционирует в своей собственной ячейке: = VLOOKUP (A1, B: B, 1, 0) (скажем, C1 ), затем формула со ссылкой на C1: = IF (C1> 10, C1 - 10, C1)
  • создать UDF:

Function MyFunc(a1, a2, a3, a4)
    Dim v as Variant
    v = Application.WorksheetFunction.VLookup(a1, a2, a3, a4)
    If v > 10 Then
        MyFunc = v - 10
    Else
        MyFunc = v
    End If
End Function
1
ответ дан 27 November 2019 в 04:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: