- ベストアンサー
index・match・vlook関数を使う??
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
回答No2です。 H5への入力の式は次の式で十分でしたね。 =IF(OR(COUNTIF(INDEX($1:$1,MATCH(H$2,$1:$1,0)):INDEX($10:$10,MATCH(H$2,$1:$1,0)),"○")=0,ROW(A1)>COUNTIF(INDEX($1:$1,MATCH(H$2,$1:$1,0)):INDEX($10:$10,MATCH(H$2,$1:$1,0)),"○")),"",INDEX($A$1:$A$10,SMALL(IF(INDEX($1:$1,MATCH(H$2,$1:$1,0)):INDEX($10:$10,MATCH(H$2,$1:$1,0))="○",ROW(A$1:A$10),""),ROW(A1))))
その他の回答 (3)
- CLOWN-6-
- ベストアンサー率51% (17/33)
基本的にとあるデータをもとに特定のデータを一覧として出す事は難しいです。 この場合、マクロを使う必要が出てきてしまう場合もあります。 しかし今回の場合、技術Aの場合に呼び出す項目は決まっているようなので 「もし技術AならばH5のセルにサービスマナー(1)、H6のセルに実験(1)を記入する」と言った関数であれば可能です。 後は↑の関数に技術Aで無かった場合技術Bを場合、技術Cの場合とIF関数を入れ子していけば作成可能です。
お礼
ありがとうございました!
- KURUMITO
- ベストアンサー率42% (1835/4283)
例えばH5セルには次の式を入力してから、式を確定する段階でCtrlキーとShiftキーを押しながらEnterキーを押します。 =IF(OR(COUNTIF(INDEX($1:$1,MATCH(H$2,$1:$1,0)):INDEX($1000:$1000,MATCH(H$2,$1:$1,0)),"○")=0,ROW(A1)>COUNTIF(INDEX($1:$1,MATCH(H$2,$1:$1,0)):INDEX($1000:$1000,MATCH(H$2,$1:$1,0)),"○")),"",INDEX($A$1:$A$1000,SMALL(IF(INDEX($1:$1,MATCH(H$2,$1:$1,0)):INDEX($1000:$1000,MATCH(H$2,$1:$1,0))="○",ROW(A$1:A$1000),""),ROW(A1)))) 式の両側には{ }がついて配列数式となります。その式を下方にオートフィルドラッグします。
惜しい。 VLOOKUPまでたどり着いたならそこからLOOKUP関数を見つけ出してほしかった。 INDEX・MATCH・VLOOKUPに思い当たっているということは、1行目の値がH2と一致する列を拾うまではできてますよね? LOOKUP関数なら、検索値より左の列にある値を拾えます。
お礼
ありがとうございました!
お礼
こんな関数、絶対に自分では思いつかないです。ありがとうございました!!できました!