tbl.CalculateColumn()
は、あなたが好きなものを列の値にすることができるので、ここではテーブルの列にtbl.Filter()
のようなテーブル関数を適用することができます適切なことを行う。難易度は実際にスニペットの中にネストされた引用符を入れることです。
SchematiqがSPOT2
は次のように扱われる(Excelの数式に)そうでなければ、SPOT2
の前後に引用符を持っている'tbl.Filter()'
ニーズに渡しているが、内側スニペット、あなたがやっているれ、スニペットに単一または二重のいずれかの引用符を使用することができますテキストではなく名前付き範囲。引用符の中にリテラル引用符を書き込むには、あなたはそれを倍増する必要があるので、次はあなたのために働くべき:
=tbl.CalculateColumn(C23,"Result","r =>tbl.Filter(r,'tier_info2','=''SPOT2''')")
を(私は2つの単一引用符SPOT2
のいずれかの側に追加したことに注意してください)
この引用符の入れ子はすべて少し厄介です。そのため、スニペットを独自のセルに移動する方法もあります。読みあなたのシートが少し簡単になりますまた、これはおそらく:
C24: r => tbl.Filter(r, "tier_info2", "='SPOT2'")
C25: =tbl.CalculateColumn(C23, "Result", C24)
を独自のセルにスニペットを移動させることで、二重引用符で全体をラップする必要はありませんので、あなたは、スニペットの周りに二重引用符を使用することができますし、テキスト値を一重引用符で囲みます。
別の方法は、関数への入力に内側フィルタスニペットを作成し、計算にその値を提供するためにfn.FixInput()
を使用することである。
C24: (fn, tbl) => tbl.Filter(tbl, 'tier_info2', fn)
C25: '='SPOT2'
C26: =tbl.CalculateColumn(C23, "Result", fn.FixInput(C24, C25))
fn.FixInput()
修正C24
にスニペットにfn
入力常ににスニペットをC25
から入力すると、tbl.CalculateColumn()
は、列の値を残りのtbl
入力として渡して関数を適用します。 2つのスニペットを分離することで、必要に応じてフィルタロジックを見やすくし、後で修正することができます。もちろん、この方法を1つのセルにまとめて組み合わせることもできます。これは、1つのセルに数式を保存したい場合は全体的にお勧めします。
=tbl.CalculateColumn(C23,"Result", fn.FixInput("(fn, tbl) => tbl.Filter(tbl, 'tier_info2', fn)", "='SPOT2'"))