LoginSignup
1
0

More than 3 years have passed since last update.

FILTERを使ってテーブルを加工する

Last updated at Posted at 2020-02-29

前回の、RANGE関数をさらに拡張し組込むのQL_INIT関数を使ってテーブル評価関数を定義します。
抽出元のテーブルの2次元配列の行数と、評価で返される二次元配列の行数は一致しなければなりません。
タイトル行も残すので、一行目は必ず数字の1です。

Function EV(V)
    EV = Evaluate(CC("1*(", V, ")"))
End Function

Function EVT(V, Optional S = "")     ' evaluate Table
    On Error Resume Next

    S = QL_INIT(EV(V), "1")
    S(0, 1) = 1 ' タイトル行

    EVT = S
End Function

' CC は CONCAT互換関数です。

Function CC(ParamArray AR())
    On Error Resume Next
    Dim S: S = ""
    Dim I: For I = 0 To UBound(AR)
       S = S & AR(I)
    Next I
    CC = S
End Function

上記関数を使用して、

(BA2) =FILTER(QL_INIT("M02N_[日付,出庫,済,依頼]"),EVT("M02N_[済]=0"))

image.png

当然、複数条件も可能です。

(BF2) =FILTER(QL_INIT("M02N_[日付,出庫,済,依頼]"),EVT("(M02N_[済]=0) * (M02N_[出庫]>100)"))

image.png

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0