やあ、
次の問題の解決策が見つかりません。
2つの列があり、どちらにもテキストが含まれています。 新しい列を作成して、列2のテキストが列1にあるかどうかを教えてください。
これどうやってするの ? 私はExcelで始めましたが、複雑すぎるようです。
例 :
Col1はリスト全体です
Col2は、col1で見つけたいテキストです。
Col3は、同じ行のcol2のテキストがcol1のリストにあるかどうかを教えてくれます。
| col1 | col2 | col3 |
| GCF055.TOP | FCN4222 | 見つかりません |
| SCF015.DOWN | FCNV4222 | 見つかった |
| SCFCNV422.TOP | FCNV4222FF | 見つかりません |
| SCF866.TOP | GCF009 | 見つかった |
| SCGCF009.DOWN | | |
| SCF866.UP | | |
| SCF015.UP | | |
ご協力いただきありがとうございます。
私の質問で十分に明確であることを願っています。
列の数式を使用して、これにアプローチする1つの方法を次に示します。文字列を作成し、これを列の数式に貼り付けます。

x = "not found";
For( i = 1, i <= N Rows( Current Data Table() ), i++,
If( Contains( :col1[i], :col2[Row()] ),
x = "found";
Break();
)
);
x;
行2のサンプルデータテーブルのエントリが正しくないことに注意してください。FCNV4222は、co1のどの行にも見つかりません。行3の値にはFCNV422が含まれていますが、FCNV4222は含まれていません
これを行うには多くの方法がありますが、高性能が必要かどうかによって解決策は異なります。 以下は、連想配列を使用して一意の値を取得し、アイテムを連結して比較する文字列を作成し、Containsを使用して一致を検索する1つの例です。
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(7),
New Column("col1",
Character,
"Nominal",
Set Values({"GCF055.TOP", "SCF015.DOWN", "SCFCNV422.TOP", "SCF866.TOP", "SCGCF009.DOWN", "SCF866.UP", "SCF015.UP"})
),
New Column("col2", Character(16), "Nominal", Set Values({"FCN4222", "FCNV4222", "FCNV4222FF", "GCF009", "", "", ""})),
New Column("col3", Character(16), "Nominal", Set Values({"not found", "found", "not found", "found", "", "", ""}))
);
dt << New Column("Found", Character, Nominal, << Formula(
If(Row() == 1,
col_vals = Associative Array(:col1 << get values) << get keys; // to eliminate dublicates
search_str = Concat Items(col_vals, " "); // should use some character not found as separator
);
If(!IsMissing(:col2),
If(Contains(search_str, :col2),
"found",
"not found"
);
,
""
);
));迅速な返信に感謝します。
注:その通りです。 私の例は完全には正しくありませんでした。