- ベストアンサー
Excelのセルに埋め込まれた文字列を式として利用する方法
- Excelのセルに埋め込まれた文字列を式として利用する方法について説明します。
- Excelの表で品名選択のコンボボックスを使用して式を簡潔化する方法を解説します。
- 品名選択で選択された品名のランクがAのものを数えるための式を作成する方法を紹介します。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
No.1です。すみません間違えました =SUMPRODUCT((B2:B9="A")*(ISNUMBER(FIND(A2:A9,A15,1))+(A15="すべて選択"))) が正解です。
その他の回答 (5)
- keithin
- ベストアンサー率66% (5278/7941)
データメニューのピボットテーブルレポートを使ってみると,複雑な数式を全く使わずに必要な集計を自在に取り出すことができます。(複雑な数式大好きの時は,スルーしてください) 手順:仮にご利用のExcelが2003までの場合 A:B列を列選択してピボットテーブルレポートの作成を開始する 行に品名 列にランク データ範囲にランクを投入 いまAだけ集計したいのでランク▼の選択肢からAのみチェック 品名▼の選択肢から集計したい品目(添付図ではみかんとリンゴ)を選択すると,2つと1つで合計で3つありますと即座に結果が得られます。 もしもこの集計結果を更に何かの計算で二次利用したいときは,GETPIVOTDATA関数を使います。
お礼
お礼が遅くなってしまい申し訳ありません。 keithinさん、回答ありがとうございます。 ピボットテーブルは、使った事なかったのですが便利ですね~∑(@_@)! 色々試してみたのですが、欲しいデータがすぐに出て嬉しくなりました(笑) 複雑な数式を作ったはいいけど、修正する時に「…はて?」と思う事が多いので、 これからは積極的にピボットテーブルを使ってみたいと思います。 ありがとうございました♪
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
#2です >いただいた回答の式が理解できなくて…解析中です(;・∀・) 空白を条件範囲に入れてしまうと、すべて数えてしまうようです。 (for XL2003) =DCOUNT(A1:B9,,D1:INDEX(E2:E7,COUNTA(D2:D7))) 数式は内側から検証します COUNTA(D2:D7) 品名を入力した個数です INDEX(E2:E7,COUNTA(D2:D7)) 品名が2個入力されていれば INDEX(E2:E7,2) つまり E3セルを返します INDEX関数は、セル参照を返す性質があります。 よって D1:INDEX(E2:E7,COUNTA(D2:D7)) は D1:E3 を返します(品名2この場合) =DCOUNT(A1:B9,,D1:E3) はデータベース関数 =DCOUNT(Database,フィールド,Criteria) フィールドは特に必要ないので省略。 Criteriaは条件表の書いてあるセル範囲。 # ちなみにセルに設定する入力規則から作るリストは、 # 「ドロップダウンリスト」と呼びます。
お礼
CoalTarさん、丁寧に解説までして下さりありがとうございます。 いただいた説明で、どういう式なのか理解できました。感謝です! DCOUNT関数、これからガンガン使えそうですヽ(´ー`)ノ →式中にE1セルの参照が無かったので、横着して「ランク」ってタイトルを付けずにテストして ました。 良く分からない結果が返ってきて…「?」だったのですが、横着しちゃだめですね! # 「ドロップダウンリスト」と呼びます。 これから気をつけます。紛らわしくしてしまってすいません(汗)
- mshr1962
- ベストアンサー率39% (7417/18945)
No.1です。 そういえば"全て選択"もあるのでしたね。 =SUMPRODUCT((B2:B9="A")*ISNUMBER(FIND(A2:A9&"全て選択",A15,1)))
お礼
mshr1962さん、何度も回答くださり、ありがとうございます。 いただいた式ですが、私の環境だとなぜかうまくいかなかったので、少し直して↓の式にしました。 =SUMPRODUCT((B2:B9="A")*((A15="全て選択")+ISNUMBER(FIND(A2:A9,A15,1)))) それでも、最初の式よりは断然、簡潔になりました。 ありがとうございます♪
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
- mshr1962
- ベストアンサー率39% (7417/18945)
B15のセルを使わないで、下記の数式でできませんか? =SUMPRODUCT((B2:B9="A")*ISNUMBER(FIND(A2:A9,A15,1)))
お礼
mshr1962さん、回答ありがとうございます。 教えていただいた式だと、「りんご&みかん」とか「りんご&いちご」等が増えても対応できますね。 | ´ω`|φメモメモ でも、「全て選択」に対応できないみたいです…(悲) 「りんご&みかん&いちご」みたいにすればいいのですが、実際は商品数が多いのです。 説明が足りてなくてすいません。 ありがとうございます。
お礼
お礼が遅くなってしまい申し訳ありません。 mshr1962さん、回答ありがとうございました。 回答の式を使用させていただきます♪