- ベストアンサー
エクセルの関数についての質問
- エクセルの関数を使用してシート1のデータをシート2に反映したいです。
- シート2の特定の列に条件に合致するデータを表示させたいです。
- シート1のデータは日々更新されるため、シート2には随時反映させたいです。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
回答No4です。 勿論のことですが、シート2のA列での店舗名を入力する位置にはあ店、う店などをあらかじめ入力しておくことが必要です。
その他の回答 (4)
- KURUMITO
- ベストアンサー率42% (1835/4283)
作業列を作って対応します。 シート1のAA列のAA1セルにはM列のデータを対象にするとのことでMと入力し、AA2セルには次の式を入力して下方にドラッグコピーします。 =IF($C2="","",IF(INDIRECT(AA$1&ROW())<=0,$C2&SUMPRODUCT(($C$2:$C2=$C2)*(INDIRECT(AA$1&2):INDIRECT(AA$1&ROW())<=0)),"")) AB列のAB1セルにはXと入力し、AC列のAC1セルにはI、AD列のAD1セルにはFと入力します。 AB2セルには次の式を入力してAD2セルまでドラッグコピーしたのちに下方にもドラッグコピーします。 =IF($C2="","",IF(INDIRECT(AB$1&ROW())>=1,$C2&SUMPRODUCT(($C$2:$C2=$C2)*( INDIRECT(AB$1&2):INDIRECT(AB$1&ROW())>=1)),"")) なお、AD1セルについては何列かの記載がされていませんでしたのでFとかりにしています。実際の列番号を入力してください。 そこでシート2ですがC2セルには次の式を入力してF2セルまで横にドラッグコピーしたのちに下方にもドラッグコピーします。 =IF(COUNTIF(Sheet1!AA:AA,INDEX($A$1:$A2,MATCH("ー",$A$1:$A2))&(ROW()-MATCH("ー",$A$1:$A2)+1))=0,"",INDEX(Sheet1!$D:$D,MATCH(INDEX($A$1:$A2,MATCH("ー",$A$1:$A2))&(ROW()-MATCH("ー",$A$1:$A2)+1),Sheet1!AA:AA,0))) なお、MATCH関数の中のーは通常は半角英数モードの-となってしまうことが多いですがひらがな入力モードでーとすることが必要です。式を入力後に数式バー上で-をーに変えるなどが必要かもしれません。 この式ですとA列のあ店、い店、う店などが何行離れて入力されていても対応できますのでご質問でいろいろ行を示しておられますが問題なく対応できます。
- foitec
- ベストアンサー率43% (1080/2457)
- LHS07
- ベストアンサー率22% (510/2221)
全て他人に頼るとおかしくしたときにパニックになって修復できなくなります。 仕事でやっているのならあなたの評価は下がってExcelを触らせてくれないという 評価になります。 Excelの入門書から読み始めましょう。 始めは地獄の苦しみですがこれを絶えて乗り越えないとExcelの仕事はこないですね。 がんばりましょう。 プログラムではないのでそんなーーーあに難しいことをやっているのではないのですが・・・。
- bin-chan
- ベストアンサー率33% (1403/4213)
まずは「ピボットテーブルで集計表を作る」のが簡単では?
補足
すみません ピボットテーブルの使い方がわかりません」
補足
失礼しました。 色いろと使ってやってみましたが、できません この表に関しては、更新して 即効つくらなくてはなりません とりあえず、エクセル上の中でアナログて的にやっていたのですが、時間がかかってしまったので 質問してみました