やりたいこと
INDEX()は番号から値を取るが、値からIndex番号が欲しい。
コミュニティにあった(解決済み)
対象の項目群(LIST)をTEXT変換(カンマ区切りの文字列)にして、FIND()で対象の値の位置を取得、LEFTでそこ(=FIND()値)までの文字列を切り出し、SPLIT()でLIST型に戻してからCOUNTすると件数=INDEX番号になる。
なるほど!!!!
入力例
COUNT(
SPLIT(
LEFT(TEXT([リスト]),
FIND( [値] , TEXT([リスト]))
)
, ",")
)
実際に書いた
COUNT(
SPLIT(
LEFT(TEXT(SELECT(files[ID], [eventID]=[_THISROW].[eventID])),
FIND( [ID] , TEXT(SELECT(files[ID], [eventID]=[_THISROW].[eventID])))
)
, ",")
)
親であるEventIDごとに子データに番号を付与することができた
先人の知恵、本当にありがとうございます…!
登録されたデータ群に対して擬似的な連番が生成可能。
※あくまで"登録された"データ群なので、登録時に発番の使い方ではない。
Is a part of?を使って複数登録された子データ群に対してインデックス番号が欲しかったので上手くてきてよかった。