データの分析、グラフ作成、および通信のためのツールを備えた Microsoft 表計算ソフトウェアのファミリ
> 質問文で提示されておられる数式は、求めておられる値が何なのか今一つ分かりません> 複数の検査項目を抜打ち検査でチェックした結果として以下のような表があったとします。> 「○」は「問題なし」、「-」は「検査未実施」、「×」は「問題あり」です。
・B列~M列までの各行のセルに、1月から12月までの各月に実施された
検査項目ごとの検査結果が"〇"、"-"、"×"のいずれかの記号で示されている。
> 各検査項目において、「問題なし」が直近で何回連続しているかをカウントする
・ここでは「直近」、つまり12月時点における連続合格回数を
各検査項目(行)ごとに求めようとしている。
・検査未実施の月(セルの値が"-"である列)は評価不能なので無視する。
(抜き打ち検査=不定期なので実施されない月もある)
・「問題あり」になった月(セルの値が"×"である列)で連続合格記録は途絶える。
・例示された表の場合、「検査項目01」については「(1月から12月まで)8回連続問題なし」、
「検査項目02」については「(8月から12月まで)4回連続問題なし」という結果を
数式によって得られればよい、ということになる。
> TEXTSPLIT関数の入れ子、TAKE関数との組合せでの不具合> =COUNTA(TEXTSPLIT(TAKE(TEXTSPLIT(CONCAT(LEFT(B2:M2,B2:M2<>"-")),"×"),,-1),"○"))-1
で、h-engine さんが作成された数式のロジック自体は概ね正しいのだけれど、
「 TAKE 関数と TEXTSPLIT 関数を1つの数式内で組み合わせた結果が期待通りにならない
(しかし作業セルを間にかませば期待通りの結果になる)のは何故?」
というのがご質問の主旨。