- 締切済み
エクセル関数
エクセル初心者につき、質問させていただきます。 集計(抽出でしょうか)に関し シートAには A列に個々の件番(数値6桁です)があります 同一件番が複数あったり、一つだけだったりと 不規則です。 B列にA列の件番に対しての項目(文字列)があります A列 B列 100001 電車 100001 バス 100001 徒歩 100003 徒歩 100006 電車 100006 バス これらのデータをシートBにて A列に6桁の数値を入力したら B・C・D列に以下の通り反映されるように したいのですがうまくいきません A列 B列 C列 D列 100001 電車 バス 徒歩 100003 徒歩 100006 電車 バス 適した関数を御教え頂ければありがたくお願いいたします。
- sumif
- お礼率66% (2/3)
- その他MS Office製品
- 回答数3
- ありがとう数2
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- KURUMITO
- ベストアンサー率42% (1835/4283)
SUMPRODUCT関数などはデータの数が多くなると計算速度が重くなります。できるだけ簡単で分かり易い方法は次のように作業列を作って対応することでしょう。 シート1には最初に表が2行目から下方に入力されているとします。 C2セルには次の式を入力して下方にオートフィルドラッグします。 =A2&B2 お求めの表はシート2に作成するとしてA1セルには件番、B1セルには電車、C1セルにはバス、D1セルには徒歩と入力します。 A2セルから下方には件番を入力するとして、B2セルには次の式を入力して右横方向にオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF(B$1="","",IF(COUNTIF(Sheet1!$C:$C,$A2&B$1)>0,B$1,""))
- tom04
- ベストアンサー率49% (2537/5117)
こんにちは! 一例です。 ↓の画像のようにSheet1のデータをSheet2に表示するようにしてみました。 ご希望の方法とは少し違うかもしれませんが、Sheet2の1行目にSheet1のB列項目を入力しておきます。 そして余計なお世話かもしれませんが、Sheet1のA列データを重複なしに表示するために作業用の列を設けています。 Sheet1の作業列C2セルに =IF(COUNTIF($A$2:A2,A2)=1,ROW(),"") という数式を入れオートフィルでずぃ~~~!っと下へコピーしておきます。 そしてSheet2のA2セルに =IF(COUNT(Sheet1!C:C)<ROW(A1),"",INDEX(Sheet1!A:A,SMALL(Sheet1!C:C,ROW(A1)))) B2セルに =IF(SUMPRODUCT((Sheet1!$A$1:$A$1000=$A2)*(Sheet1!$B$1:$B$1000=B$1)),B$1,"") という数式を入れ、D2セルまでオートフィルでコピー! 最後にA2~D2セルを範囲指定し、D2セルのフィルハンドルで下へコピーすると 画像のような感じになります。m(__)m
- keithin
- ベストアンサー率66% (5278/7940)
BCD列に =IF(SUMPRODUCT((Sheet1!$A$1:$A$6=$A1)*(Sheet1!$B$2:$B$6="電車")),"電車","") =IF(SUMPRODUCT((Sheet1!$A$1:$A$6=$A1)*(Sheet1!$B$2:$B$6="バス")),"バス","") =IF(SUMPRODUCT((Sheet1!$A$1:$A$6=$A1)*(Sheet1!$B$2:$B$6="徒歩")),"徒歩","") 実際には,表のいきなり1行目から実データを開始するなんて使い方はしませんよね。 最低1行目には項目を入れて,するとそれを使って数式ももっと整理して作成できます。 またご利用のエクセルのバージョンもご質問に書かれていませんが,新しいバージョンのエクセルを使っているなら,もっと簡単で使いやすい関数で工夫する方法もあります。
お礼
早速のご解答本当に有難うございます。 やりたかったことが100%達成できました。 こんなに早く解決のご解答が頂けるのなら もっと早くに活用させていただけばよかったです。 繰り返しですが 本当に有難うございました。
関連するQ&A
- エクセル関数について
表の中での集計を取りたいのですが、どうしてもうまく行きません。 A B 1 5 1000 2 5 1000 3 6 1200 4 7 1300 5 5 6 8 1500 7 10 2000 このような場合に、A列で、5から8までの数値範囲内で、B列に数値が入っている場合の個数をカウントしたいのです。 5になればOKとしたいのですが、また集計をした結果を書くシートと、実際に集計するデータが入っているシートは別になります。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- データの整合性のエクセル関数教えてください!
例えばシート1が A列 B列 C列 123さん 12番 1番 345さん 13番 2番 678さん 14番 3番 シート2は A列 B列 C列 D列 345さん A 13番 3番 123さん B 12番 1番 678さん C 14番 3番 という表があった場合にシート1の123さんのB列とC列が シート2の123のC列とD列の番号と一致しているかどうか をE列に●×で表示させたい時はどのような関数を使え ばいいのでしょうか?ちなみにシート1とシート2は順番も 項目も違う内容になっています。 VLOOKとIFを組み合わせたりしたのですが、どうしも うまくいかず困っています。 どなたかおわかりでしたら教えてください。
- ベストアンサー
- オフィス系ソフト
- エクセル関数で、ご教示下さい
例として、セルA1~A10に、1.2.3.・・・・10と番号を入れて セルB1~B10には、商品の在庫数が入力されているとします。 この時、セルC1に集計の開始番号 セルC2に集計の終了番号を入力すれば、 D1に開始番号から終了番号までのB列の合計を表示させたいのですが、 このような集計ができるD1に入れる関数はあるでしょうか。 例えば、B列の3行目から6行目までの合計をD1に表示させたい場合に C1にA列番号の3を入力、C2には6を入力すれば、D1にB3からB6の合計を 表示してくれる、といった関数です。 開始番号、終了番号は、何番~何番までと、その都度変わります。 どなたか、よろしく、お願いいたします。
- ベストアンサー
- オフィス系ソフト
- エクセルの関数について
A列に抽選会の回数(1~100)、B列に当選番号(1~10)、C列に賞品番号(アルファベット1桁+数字3桁)が3000件 位あるデータがあります。 例えば、検索値として、A列の抽選会回数=5 & B列の当選番号=3 & C列の賞品番号="1桁目がDのデータ全て" の データ数を求めたいのですが、どのような式を使えば良いでしょうか? 先日この質問ページで、『SUMPRODUCT』を教えていただいたので、下記の様に指定してみましたが、当然(?)駄目でした。 SUMPRODUCT((A1:A3000=5)*(B1:B3000=3)*(C1:C3000="D***")) ちなみに、オートフィルターは使用したくありません。 宜しくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルの関数について
エクセルのA列とB列にはランダムな10桁の数値が入力されています。 A列の数値がB列にも有る場合、C列に“OK”と表示させたいのですが、C列にどのような関数を入れたら良いのか分かりません。どなたかご存知の方おしえて下さい。
- ベストアンサー
- その他MS Office製品
- エクセルの関数
質問させていただきます。 旅行のバスの台数を計算します。 A1~20までに、はじめから1~20までの数値が入っています。これがバス台数となります。 B1から、バスが運行する度にその日の日付を入力します。 日付が入っているところまでが実際のバスの台数となります。 たとえば、B列の日付がA列の13まで入力されたら、バスの台数は13台ということになります。 それを、C1に自動で入るようなことはできますでしょうか? B列のある場所に値が入ったら、A列のここをイコールとしてC1に出すような。でも常にB列の一番下を参照させないといけないんですよね。 説明が下手で申し訳ありません。 ご理解頂けましたらご教授お願い致します。
- ベストアンサー
- オフィス系ソフト
- エクセルの関数
エクセルの関数ですが、 シート1の1行目は見出しが入っています。 C2~C267まで、あ店~け店までの9店舗の店名がランダムに入っています。 D2~D267まで、個人名が入っています。 いろんなデータが2行目から各列に入っています。 シート1のデータは日々更新します。 シート2にシート1のデータを反映したいのです。 シート2の1行目は見出し、 シート2のA2は あ店と入っています。A3~A54は空白(シート1に入っている あ店の個人は53人だという事でA3~A54は空白空白なっています。 A55に い店 A56~A73は空白。 A74に う店 A75~A93は空白。 A94に え店 A95~A144は空白。 A145に お店 A146~A161は空白。 A162に か店 A163~A179は空白。 A180に き店 A181~A212は空白。 A213に く店 A214~A228は空白。 A229に け店 A230~A254は空白。 シート2の C列に シート1のM2から入ってる数値 0以下の人の名前をシート2のB2~B54までに データが0以下の人を入れ込みたいのです(よって、もし 0以下の人が10人だったら、B2~B11まで個人名が入って、B12~B54は名前は入らないて事になります) よって、シート2のB2~B54は、シート1の あ店のM列の 0以下の人を反映して表示したいのです 同じ要領で、シート2のD列にシート1のX列の数値の 1以上の人 シート2のE列にシート1のI列の数値の 1以上の人 シート2のF列にシート1の列の数値の 1以上の人 を反映して表示させたいのです このシート1は日々更新します シート2に随時反映するような関数を教えてください 宜しくお願いいたします
- ベストアンサー
- Windows XP
- Excel 関数について
Excel 関数について データにちょっと数値を追記したいのですが、頭が混乱して何をやっているかわからなくなり、質問させて頂きます。 D1セルに以下セルの数値を入れたいのですが・・・ A1セルが0の時はB1セルの数値を。。でもA1セルに0以外の数値が入っている時はそれをD1セルに入れる。 B1セルも0の時はC1セルの数値を。。でもB1セルに0以外の数値が入っている時はそれをD1セルに入れる。 要するにA列B列C列にはそれぞれ数値が入っているのですが、A列とB列は0のところもあり。。。 列の優先順位としてはA列を最優先としてB列→C列の順に優先列の数値が0の時は最終的にはC列の数値が入るようにしたいです。 説明もわけがわからなくてすみません~どなたか教えて下さい(>_<)
- ベストアンサー
- その他MS Office製品
- EXCELの関数についてご教授ください。
EXCELの関数についてご教授ください。 【質問内容】 以下エクセルのデータがあるとします。 A B C D E F 2013/10/1 新 100 2013 10 1 2013/10/1 旧 100 2013/10/1 新 101 2013/10/1 新 102 2013/10/1 旧 102 2013/10/1 新 103 2013/10/1 旧 110 2013/10/1 旧 110 2013/10/1 旧 110 2013/10/2 旧 110 ※D1,E1,F1には任意の日付を入力できるイメージ (1) D1,E1,F1にそれぞれ上記の値(2013年10月1日)を入力した場合、 A列が「2013/10/1」かつ B列が「新」の件数は 「4件」 と出力されるようにしたいです。 ※「100」「101」「102」「103」が集計され計4件 ※この場合(B列が新の場合)はC列は同じ値は入らないので考慮しなくてよい (2) D1,E1,F1にそれぞれ上記の値(2013年10月1日)を入力した場合、 A列が「2013/10/1」かつ B列が「旧」で C列が「重複しているものは1件でカウント」すると 「3件」 と出力されるようにしたいです。 ※「100」「102」「110」が集計され計3件 ---------- (1)は以下自力で解決出来るようなのですが、 =SUMPRODUCT((A1:A$10=DATE(D1,E1,F1))*(B1:B10="新")) (2)が難解すぎて質問させて頂きました。 皆様お忙しいところ、大変申し訳ございませんがお力をお借りしたく思います。
- ベストアンサー
- Excel(エクセル)
お礼
早速のご解答有難うございます。 解決は出来ましたが このような方法もあるのですね。 ちょっと自分にはハードルが高そうですが! 本当に有難うございます。