Googleスプレッドシートでイベントのスケジュールを作成しました。
MWF
を含むセルがあり、イベントが毎週月曜日、水曜日、金曜日であることを示しています。Monday
を報告する別のセルがあります。2つのイベントが重複しているかどうかを確認したいと思います。
つまり、2番目のセルのMonday
が最初のセルのMWF
に含まれているかどうかを判断する必要があります。
TRUE
が含まれる代替シナリオでは、Thursday
と比較すると、代わりにFALSE
が報告されますが、私が望む結果はMWF
を報告します。視覚的な例:
これらの文字を定義するためにスプレッドシートの別の領域を追加せずにこれを行う方法はありますか?
M, T, W, H, F
の列と、「definitions」(つまり、Monday, Tuesday, Wednesday, Thursday, Friday
)を含む別の隣接する列を追加して参照したい。次のようなものを試すことができます:=ISNUMBER(SEARCH(LEFT(B1; 1); A1))
上記の式は十分ではありませんでしたが、これは次のとおりです。
=IF(LEFT(B1; 2)="Mo"; ISNUMBER(SEARCH(LEFT(B1; 1); A1));
IF(LEFT(B1; 2)="Tu"; ISNUMBER(SEARCH(LEFT(B1; 1); A1));
IF(LEFT(B1; 2)="We"; ISNUMBER(SEARCH(LEFT(B1; 1); A1));
IF(LEFT(B1; 2)="Th"; ISNUMBER(SEARCH(RIGHT(LEFT(B1; 2); 1); A1));
IF(LEFT(B1; 2)="Fr"; ISNUMBER(SEARCH(LEFT(B1; 1); A1));
IF(LEFT(B1; 2)="Sa"; ISNUMBER(SEARCH(LEFT(B1; 1); A1));
IF(LEFT(B1; 2)="Su"; ISNUMBER(SEARCH(RIGHT(LEFT(B1; 2); 1); A1)); )))))))
where:
Monday = M
Tuesday = T
Wednesday = W
Thursday = H
Friday = F
Saturday = S
Sunday = U
=ARRAYFORMULA(IF(LEN(A1:A)*LEN(B1:B), REGEXMATCH(TRANSPOSE(QUERY(TRANSPOSE({
REGEXMATCH(A1:A, REGEXEXTRACT(B1:B, "..")), REGEXMATCH(REGEXEXTRACT(B1:B, ".."),
REGEXREPLACE(IF(SPLIT(REGEXREPLACE(A1:A, "([A-Z])", " $1"), " ")="", "♦",
SPLIT(REGEXREPLACE(A1:A, "([A-Z])", " $1"), " ")), "..", "♦"))}),,999^99)), "T"), ))