2017-01-11 4 views
2

評価するセルを決定するためのドロップダウンセル($ AG $ 7)を参照する配列式があります。これはうまくいきますが、ドロップダウンに "All"という項目を追加する必要があります。ワイルドカードを使用したExcelの配列式

これを選択すると、配列式から「*」を使用して配列からすべてのインスタンスが返されますが、動作させることはできません。

これは私が現在使用している公式です。

={SUM(IF((tblSkillsMatrix[Role]=[@Role])*(INDIRECT("tblSkillsMatrix["&V$2&"]")=$AG$7),1,0))} 

私は

={SUM(IF((tblSkillsMatrix[Role]=[@Role])*(INDIRECT("tblSkillsMatrix["&V$2&"]")="*"&$AG$7),1,0))} 

={SUM(IF((tblSkillsMatrix[Role]=[@Role])*(INDIRECT("tblSkillsMatrix["&V$2&"]")="*"&$AG$7&"*"),1,0))} 

を使用してみましたが、これらは動作しません。

誰にもアイデアはありますか?

おかげ

答えて

2

明示=比較は、ワイルドカードを使用することはできません。 COUTIFSおよびSUMIFSすることができます。私が見る限り、あなたは数えたいだけです(条件付き合計1と0)。

問題は、COUTIFSSUMIFSINDIRECTの範囲を扱いません。しかし、INDIRECTは、しばしばINDEX - MATCHに置き換えられます(その揮発性のために)。

ので:$AG$7が空の場合、それは$V$2に指定したカラムの独立したカウント

=COUNTIFS(tblSkillsMatrix[role],[@role],INDEX(tblSkillsMatrix,,MATCH($V$2,tblSkillsMatrix[#Headers],0)),"*"&$AG$7) 

Btw:テーブル(ListObject)内では、配列式として入力する必要はありません。

$V$2が空で表の列タイトルが指定されていない場合、これは機能しないため、これは100%の式の置き換えではありません。数式ですべての列が表示されますが、COUNTIFSを使用してこれを行うことはできません。各追加範囲には、criteria_range1引数と同じ列数が必要です。だから$V$2も空でなければならないなら、これは動作しません。

ので、あなたは

{=SUM((tblSkillsMatrix[role]=[@role])*(LEFT(INDIRECT("tblSkillsMatrix["&$V$2&"]"),LEN($AG$7))=$AG$7))} 

利点を使用することができた場合:両方が$V$2$AG$7空にすることができます。

短所:揮発性の振る舞いはINDIRECTであり、この数式はListObject-tableでも配列式でなければなりません。 を使用して確認する必要があります。 + Shift + と入力してください。

+0

こんにちは@Axelリヒター、返信と説明のおかげで少し調整した後、私はcountifsの機能を次のように機能させました。 'COUNTIFS [tblSkillsMatrix [Role]:[Role]]、Table8 [ [Role]:[Rol e]]、INDEX(tblSkillsM atrix、MATCH(V $ 2、tbl SkillsMatrix [#Header s]、0))、 "*"&$ AG $ 7) 'となります。これはAG7が空白ではなく ""を返すときに機能します。 – PeteBradshaw

+0

なんらかの理由で、私は上の公式でマークダウンを働かせることができなかったので、これを正しく示していないことをお詫びします。 – PeteBradshaw

関連する問題