
エクセルの関数の使い方についてアドバイスをお願いいたします
あるシート(仮にSheetAとする)において
B列にあるデータの任意の文字(仮にCとする。文字位置は固定ではない)であって、且つ
D列にあるデータの任意の文字(仮にEとする。文字位置は固定ではない)の双方を満たすセルの数を数えて、さらにその結果は同じファイルの中にある別のシート(仮にSheetFとする)に表したいと思います
これについては関数SUMPRODUCTと関数FINDを使って導きたいと考えておりました。
=SUMPRODUCT(ISNUMBER(FIND("C",B1:B100))*ISNUMBER(FIND("E",D1:D100)))
として同じシート上に結果を表すことはできたのですが、別シートに表すところで、
つまづいてしまいました(おそらく初歩的なミスと思うのですが・・・。)
別のシート名を表す部分をどこに入力したらいいのかアドバイスいただきたく
お願いいたします
それとも別の関数(DCOUNTなど)を使用したほうがよりベストなのか迷っています
DCOUNTの使い方も精通しておらず苦慮しております
調べてみましたが前例を見つけだす事ができませんでした
簡単なことでしたらすみません
エクセル2003です
どうぞアドバイスのほど
よろしくお願いいたします
No.1ベストアンサー
- 回答日時:
シート名は、
=SUMPRODUCT(ISNUMBER(FIND("C",Sheet1!B1:B100))*ISNUMBER(FIND("E",Sheet1!D1:D100)))
のように入力すればOKです。
---
データベース関数を使うのであれば、DCOUNTAを使います。
データベース関数を使う場合、
データが入っている列の1番上のセル(この例なら、B1とD1)に、
データの種類の名前(例えば「住所」「氏名」等)が入力されている必要があります。
次に、検索条件を書きます。
ここでは、E1~F2に
住所 氏名
C E
と埋めます。
最後に結果を出したいセルに
=DCOUNTA(B1:D100,"住所",E1:F2)
と入れればOKです。
別シートの表から検索する場合は、SUMPRODUCTの例同様、シート名!を加えてください。
データベース関数については、例えばこのページが参考になります。
http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu …
---
どちらの方法を使うかですが、
大量のデータを検索する場合、
配列形式の関数(SUMPRODUCT等)は動きが極めて遅くなりますので、
検索に特化したデータベース関数を使うのはとても有益です。
ただ、
・条件を書くためのセルを作らなければいけない
・データの一番上にデータの名前を埋めなければいけない
・知らない人がメンテナンスしづらい
などデメリットもあります。
そんなに大きくない表であれば、使い慣れたSUMPRODUCT関数を使うのも良いかと思います。
早々にありがとうございます
シート名はそこに入力すればよかったのですね
やはりDCOUNTAだと、データーの種類の名前を入れないとだめなんですね
その方法は、できればとりたくないと考えておりました
早速やってみます
大変ありがとうございました
No.5
- 回答日時:
2列のそれぞれの条件での探索は、エクセルでは(他のデータベース言語ではその備えがあるが)難しい。
だから2列を結合して、1列のデータに持っていって(そのため作業列は要るがやむをえない)、考える。
ーー
Sheet2で第2行目から(Sheet2は特別意味なし)
C列 D列 E列(何処でも空き列)でよい)
asdfxyzuasdf......xyzu......
dfgsxufdfg.......sxuf......
sxyufs.........xyuf......
dfghudedfg.......hude......
ersdgggsxyzderersdggg...sxyzder...
tsdftt.........sdft......
sadres.........adre......
dfgdfgdfg.......dfg.......
xsdfghwexyzxsdfgh....wexyz.....
E2の式は =C2&REPT(".",10-LEN(C2))&D2&REPT(".",10-LEN(D2))
後尾に埋める文字をコンマにしているのは、桁数が良くわかるようにしている。スペースだとわかりにくいが、スペースのほうが本来良い。
C,D列とも最大10桁以内と仮定した場合の式。両列で最大桁が違っていても式の定数が変わるだけ。
仮に定桁式結合と呼ぼう。
これで
C列はSdを含み、かつD列はxyzを含む行の数を求める
空きセルに =COUNTIF(E2:E10,"*sd*xyz*")
で上記例では3
ワイルドカードが使える。
これで良いと思うが、色んなケースを十分考えていないので、質問者がチェックしてください。
ーー
別シートに式を入れるなら
=COUNTIF(Sheet2!E2:E10,"*sd*xyz*")
この部分は常識的なことです。
No.4
- 回答日時:
参考までに
部分一致でDCOUNTA関数を利用する場合は、No1の回答に示されている条件や皆さんから紹介されているリンクの情報では、正しい個数を返さない可能性があります。
DCOUNTAなどのデータベース関数はバージョンによる違いがあり、Criteriaに入力する条件によって、前方一致で検索した入り完全一致で検索する可能性があります。
http://www.kenzo30.com/ex_kisotyu/ex_ks_tyukyuxb …
例えば「C」を含むという条件なら、ワイルドカードを使って「'=*C*」(アポストロフィーの後に=、アスタリスク、文字列、アスタリスク)と入力する必要があります。
ちなみに後方一致(最後がCで終わるセルの個数)なら「'=*C」と入力することになります。
No.3
- 回答日時:
=SUMPRODUCT(ISNUMBER(FIND("C",シート名!B1:B100))*ISNUMBER(FIND("E",シート名!D1:D100)))
のようにセル範囲の前にシート名を設定するだけです。
DCOUNT関数の使い方は下記を参照
http://excel.onushi.com/function/dcount.htm
早々にありがとうございます
ご丁寧にありがとうございます
みなさんすぐにアドバイスいただき、嬉しいかぎりです
早速作成してみます
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 関数EXACT(文字列,文字列)とexcelVBA 3 2022/04/14 15:07
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/02 10:20
- Visual Basic(VBA) エクセルの数式で教えてください。 1 2023/07/31 15:49
- Excel(エクセル) 条件に合った数値の合計を表示させたい関数と条件指定の方法 3 2023/05/13 16:07
- Excel(エクセル) 【Excel関数】値が合致するセルの隣のセルを表示させたい 8 2022/10/12 17:44
- Excel(エクセル) 特定の文字の合計値(空白を無視+可変に対応)を求める関数について 1 2022/08/18 10:51
- Visual Basic(VBA) VBA 改行コードの取り方 1 2022/03/22 14:14
- Excel(エクセル) エクセル関数の変わった使い方 3 2022/05/13 17:12
- Excel(エクセル) Excel関数について質問です。 シート1に入力シートがあります。 =A1 =B1などで離れた数字な 5 2022/12/18 13:42
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
お肉の下のシートを煮込んでし...
-
EXCELマクロのボタンについて教...
-
エクセルを利用して、日計と累...
-
エクセルでの顧客管理
-
関数を教えて下さい。
-
エクセル入力したデータを別シ...
-
エクセルでif関数を使って、別...
-
エクセルVBA
-
スプレッドシート 重複している...
-
エクセル(VBA)での特殊な商品名...
-
エクセル初心者と中級者の間程...
-
excelに詳しい方お願いします ...
-
VBAとメッセージ関数
-
エクセルのシートコピー教えて
-
エクセル マクロについて
-
エクセルで2つのシートに同じ名...
-
シート名のオートフィル
-
エクセル 入力について
-
Windows XPを使用しているので...
-
エクセルでの在庫管理について...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
お肉の下のシートを煮込んでし...
-
エクセルで1行だけ数式が反映さ...
-
エクセルを利用して、日計と累...
-
条件にマッチする行を抽出するV...
-
毎日の日計を別シートに自動で...
-
2つのシート間での重複データ...
-
エクセルのシートをコピーして...
-
エクセルでフラグがたっている...
-
指定した条件でTRANSPOSE関数を...
-
エクセルで○のついた項目を抽出
-
EXCELで受験票を作成したい(名...
-
チュロス袋の代用
-
VBA 縦のデータを横にするコード
-
エクセルで2つのシートに同じ名...
-
excel シート1の奇数(偶数)...
-
エクセル ○印がついている行を...
-
Excelで複数のシートに列のグル...
-
複数シートのセルの 記号の数...
-
excelマクロで複数シート間のデ...
-
エクセルでシート間の相対参照
おすすめ情報