- ベストアンサー
複数の種類の語句のセル内検索
A列にキーワード、B列にその説明が入ってるとします A B C 1 美しい 美について形容した物 2 愛 感情の一つに付けられた名前 3 投げる 物を動かす動作の一つ 4 ~の 他の品詞の末尾に付く物 5 早い 速度を表すときの形容詞 6 … … … … と言う具合に 勿論B列の内容には十分配慮するとして このB行の文字の中に"形容"・"名"・"動"・"尾"…等の物があるか調べ 有ればそれぞれ同一行のC列にそれぞれ"形容詞"・"名詞"・"動詞"・"接尾語"…などと表示させ 無ければ"-"を表示させたいのですが IF構文を使えば取り敢えずは出来そうですがC行に表示させる種類が多い場合 文が長くなるし、それに連れて処理も重くなってしますので限界があると思うのですね また、マクロはそれと判らない人に白い目で見られて 「安全管理上問題有り」と言われるので出来れば使いたくないのです 更に、他のセル・Bookは使用を許されていません 上手くできる方法はありますでしょうか?
- みんなの回答 (8)
- 専門家の回答
お礼
早速のご回答有難う御座います 感服しました 正に「我、強者とまみえん」の瞬間でした 恐れ入りました 近年希にみないブレイクスルーだと思います 私なりに後学にと 頂いたこの構文(慣用句?)を分解して 「SUMPRODUCT」の中の「COUNTIF」を外に出したら(参照にしたら) 第1列の場合1が10に変わってしまいました しかも引数が1個しかないし… なぜに?? ヘ(~~; 更に「COUNTIF」に「{ }」が使われているのにも驚きました 全く意味不明、未知との遭遇です やはりそもそもExcel流の配列の捕まえ方が判っていない性なのでしょうか? どう考えても 「=SUMPRODUCT(COUNTIF(B1,{"*形容*","*名*","*動*","*尾*"})*{1,2,3,4})」 に掛けられた魔法が解けません 出来れば解説いただければ助かるのですが 宜しくお願い致します <(_ _)>
補足
戸頃で G1に1、G2からG6まで0を入れても 1に1、G1からG6まで1を入れても G1から順にG6まで1から6まで入れても =SUMPRODUCT(SUMIF(B1,{"*形容*","*名*","*動*","*尾*"},$G$1:$G$5)*{1,2,3,4}) としたところちゃんと動作しました が =SUMPRODUCT(SUMIF(B1,{"*形容*","*名*","*動*","*尾*"},{1,1,1,1})*{1,2,3,4}) とか =SUMPRODUCT(SUMIF(B1,{"*形容*","*名*","*動*","*尾*"},{1,1,1,1,1})*{1,2,3,4}) とか =SUMPRODUCT(SUMIF(B1,{"*形容*","*名*","*動*","*尾*"},{1;1;1;1})*{1,2,3,4}) とか =SUMPRODUCT(SUMIF(B1,{"*形容*","*名*","*動*","*尾*"},{1;1;1;1;1})*{1,2,3,4}) とか =SUMPRODUCT(SUMIF(B1,{"*形容*","*名*","*動*","*尾*"},$G$1:$G$4)*{1,2,3,4}) とか =SUMPRODUCT(SUMIF(B1,{"*形容*","*名*","*動*","*尾*"},$G$1:$G$6)*{1,2,3,4}) とか 全て文字列として認識しました 全く意味不明…