No.1
- 回答日時:
>Sheet2の最小値と最大値に対して日付、担当者も入れる事は出来ますか?
何がしたいのでしょうか。
○指定の日付、担当者に絞ってコードごとの最大・最小・平均を求めたい
→日付や担当者をどのように指定したいのか、説明不足
○A1ならA1の最小値を与える日付、担当者、最大値を与える日付、担当者…を併記したい
→たとえば2つの行が条件に合致するといった場合にどうしたいのか、説明不足
折角絵を描いたなら、「こういう結果を出したい」という所まで、目に見えるようにして説明してくれると助かります。今後のご参考に。
とりあえずやってください。
作成例:
シート2のA1に日付(ピンポイントに、ある1日)
シート2のB1に担当者名
に該当するコードA1の最小値:
=MIN(IF((Sheet1!A:A=A2)*(Sheet1!D:D=A1)*(Sheet1!E:E=B1)*(Sheet1!C:C>0),Sheet1!C:C))
と記入、コントロールキーとシフトキーを押しながらEnterで入力。
コードA1の最大値:
=MAX(IF((Sheet1!A:A=A2)*(Sheet1!D:D=A1)*(Sheet1!E:E=B1),Sheet1!C:C))
と記入、コントロールキーとシフトキーを押しながらEnterで入力。
コードA1の平均値:
=AVERAGEIFS(Sheet1!C:C,Sheet1!A:A,A2,Sheet1!D:D,A1,Sheet1!E:E,B1)
と記入、ふつーにEnterで入力。
No.2
- 回答日時:
こんばんは!
前回の質問は判らないのですが、
今回の質問に関して・・・
↓の画像で上側がSheet1で下側のSheet2に表示するとします。
尚、Sheet2のA列コードは入力済みだとします。
Sheet1に作業用の列を1列設けます。
作業列F2セルに
=IF(A2="","",A2&"_"&C2)
という数式を入れオートフィルでしっかり下へコピーしておきます。
次にSheet2のB2セルに
=MIN(IF(Sheet1!A$1:A$1000=A2,Sheet1!C$1:C$1000))
これは配列数式になってしまいますので、Shift+Ctrl+Enterで確定!
この画面からコピー&ペーストする場合は
上記数式をドラッグでコピー&ペースト → F2セルを選択 → 数式バー内に貼り付け → そのまま(編集可能なまま)
Shift+Ctrlキーを押しながらEnterキーで確定!
数式の前後に{ }マークが入り配列数式になります。
次にC2セル(配列数式ではありません)に
=INDEX(Sheet1!D:D,MATCH($A2&"_"&$B2,Sheet1!$F:$F,0))
という数式を入れ隣りのD2セルまでコピー!
E2セル(←配列数式です)に
=MAX(IF(Sheet1!A$1:A$1000=A2,Sheet1!C$1:C$1000))
としてShift+Ctrl+Enterで確定
F2セル(配列数式ではありません)に
=INDEX(Sheet1!D:D,MATCH($A2&"_"&$E2,Sheet1!$F:$F,0))
という数式を入れ隣りのG2セルまでコピー!
H2セルには
=AVERAGEIF(Sheet1!A:A,A2,Sheet1!C:C)
という数式を入れておきます。
日付列の書式は「日付」にしておいて、
最後にB2~H2セルを範囲指定 → H2セルのフィルハンドルで下へコピー!
これで画像のような感じになります。
※ 極端にデータ量が多い場合は配列数式はおススメしません。
作業列を増やすなりして他の方法を考える必要があります。m(_ _)m
No.3
- 回答日時:
No.2です!
前回の投稿で誤記がありました。
すでにお判りかと思いますが、
>上記数式をドラッグでコピー&ペースト → F2セルを選択 → 数式バー内に貼り付け・・・
は
>F2セルではなく、B2セルの間違いです。
何度も失礼しました。m(_ _)m
No.4
- 回答日時:
>追加で教えていただきたく、質問をさせていただきます。
その様な場合には、下記の様に前回の質問が掲載されているサイトのページのURLを記載する様にして下さい。
【参考URL】
質問No.8319482 excel関数 | 【OKWave】
http://oshiete.goo.ne.jp/qa/8319482.html
偶々、前回回答した私が本御質問を見かけたから良かったものの、大部分の回答者は前回の質問がどの様なものであったのかという事や、どの様な方法で解決したのかという事など知る由も無いのですから、御質問欄に掲載されている添付画像から得られる情報だけでは、何が行われているのか判断する事は、相当難しいと思います。
もし、私が本質問の存在を見逃してしまっていたならば、他の回答者の方々には、B列が空欄となっているデータのみを集計しているとは判らないために、誤った回答が寄せられてしまい、問題を解決する事が出来なかった恐れもあります。
さて本題ですが、Sheet3で使用する作業列に関して、既存のものに加えてE列とF列の2列を新たな作業列として使用するものとします。
又、Sheet2の表は、日付と担当者名を表示させる様にする都合上、若干レイアウトを変更する必要がありますので、A列にコード番号、B列に最小値、C列に最小値が得られた日付、D列に最小値が得られた時の担当者名、E列に最大値、F列に最大値が得られた日付、G列に最大値が得られた時の担当者名、H列に平均値をそれぞれ表示するものとし、Sheet2の1行目と2行目は項目名を入力するために使用し、実際のデータは3行目以下に表示させるものとします。
尚、同一コードで文字列欄が空欄となっているものの中において、数字欄が最大値或いは最小値となっている箇所が複数個所存在する場合には、日付が最も
まず、Sheet3のA2セルに入力する関数を次のものに変更してから、Sheet3のA2セルをコピーして、Sheet3のA3以下に貼り付けて下さい。
=IF(AND(INDEX(Sheet1!$A:$A,ROW())<>"",INDEX(Sheet1!$B:$B,ROW())="",ISNUMBER(INDEX(Sheet1!$C:$C,ROW())),ISNUMBER(1/(YEAR(INDEX(Sheet1!$D:$D,ROW()))>1904))),COUNTIF(Sheet1!$A:$A,"<"&INDEX(Sheet1!$A:$A,ROW()))+COUNTIF(Sheet1!$A$1:INDEX(Sheet1!$A:$A,ROW()),INDEX(Sheet1!$A:$A,ROW())),"")
尚、Sheet3のB列~D列の関数は、そのままで結構です。(本当はA列の関数も変更せずとも、通常は正しく動作する筈なのですが、万が一、最小値や最大値となっている行において、日付が入力されていなかったり、日付ではなく文字列が入力されていたりしますと、正しい結果が得られなくなる恐れがあるため、念の為に変更する事にしました)
次に、Sheet3のE2セルに次の関数を入力して下さい。
=IF(AND(ISNUMBER(FIND("◆",$C2)),ISNUMBER($D2)),IF(ISNUMBER(1/(YEAR(INDEX(Sheet1!$D:$D,MATCH(ROWS($2:2),$B:$B,0)))>1904)),LEFT($C2,FIND("◆",$C2))&$D2&"◇"&TEXT(INDEX(Sheet1!$D:$D,MATCH(ROWS($2:2),$B:$B,0)),"yyyy/mm/dd"),""),"")
次に、Sheet3のF2セルに次の関数を入力して下さい。
=IF($E2="","",COUNTIF($E:$E,"<"&$E2)-COUNTIF($E:$E,"<*?"))
次に、Sheet3のE2~F2の範囲をコピーして、同じ列の3行目以下に貼り付けて下さい。
※まだ途中なのですが、サイトのシステムの調子がおかしくなっている様で、回答欄に入力可能な文字数が通常よりも少なくなっているため、全てを書き込む事が出来ません。
ですから、残りは又後で投稿させて頂きます。
No.5ベストアンサー
- 回答日時:
回答No.4の続きです。
次に、Sheet2のA1セルに「コード」、B1セルに「最小値」、E1セルに「最大値」、Hセルに「平均値」、B2セルとE2セルに「値」、C2セルとF2セルに「日付」、D2セルとG2セルに「担当者」と入力して下さい。
次に、Sheet2のB3セルに次の関数を入力して下さい。(レイアウト変更前のB2セルの関数と同じ)
=IF(INDEX($A:$A,ROW())="","",IF(COUNTIF(Sheet3!$C:$C,INDEX($A:$A,ROW())&"◆*"),MIN(INDEX(Sheet3!$D:$D,MATCH(INDEX($A:$A,ROW())&"◆1",Sheet3!$C:$C,0)):INDEX(Sheet3!$D:$D,MATCH(INDEX($A:$A,ROW())&"◆"&COUNTIF(Sheet3!$C:$C,INDEX($A:$A,ROW())&"◆*"),Sheet3!$C:$C,0))),"-"))
次に、Sheet2のC3セルに次の関数を入力して下さい。
=IF(ISNUMBER(INDEX($B:$B,ROW())),IF(COUNTIF(Sheet3!$E:$E,INDEX($A:$A,ROW())&"◆"&INDEX($B:$B,ROW())&"◇*"),INDEX(Sheet1!$D:$D,MATCH(MATCH(COUNTIF(Sheet3!$E:$E,"<"&INDEX($A:$A,ROW())&"◆"&INDEX($B:$B,ROW())&"◇")-COUNTIF(Sheet3!$E:$E,"<*?"),Sheet3!$F:$F,0)-ROW(Sheet3!$E$2)+1,Sheet3!$B:$B,0)),""),"")
次に、Sheet2のC3セルの書式設定の表示形式を[日付]に設定して下さい。
次に、Sheet2のD3セルに次の関数を入力して下さい。
=IF(ISNUMBER(INDEX($C:$C,ROW())),IF(COUNTIF(Sheet3!$E:$E,INDEX($A:$A,ROW())&"◆"&INDEX($B:$B,ROW())&"◇"&TEXT(INDEX($C:$C,ROW()),"yyyy/mm/dd")),INDEX(Sheet1!$E:$E,MATCH(MATCH(INDEX($A:$A,ROW())&"◆"&INDEX($B:$B,ROW())&"◇"&TEXT(INDEX($C:$C,ROW()),"yyyy/mm/dd"),Sheet3!$E:$E,0)-ROW(Sheet3!$E$2)+1,Sheet3!$B:$B,0)),""),"")
次に、Sheet2のE3セルに次の関数を入力して下さい。(レイアウト変更前のC2セルの関数と同じ)
=IF(INDEX($A:$A,ROW())="","",IF(COUNTIF(Sheet3!$C:$C,INDEX($A:$A,ROW())&"◆*"),MAX(INDEX(Sheet3!$D:$D,MATCH(INDEX($A:$A,ROW())&"◆1",Sheet3!$C:$C,0)):INDEX(Sheet3!$D:$D,MATCH(INDEX($A:$A,ROW())&"◆"&COUNTIF(Sheet3!$C:$C,INDEX($A:$A,ROW())&"◆*"),Sheet3!$C:$C,0))),"-"))
次に、Sheet2のF3セルに次の関数を入力して下さい。
=IF(ISNUMBER(INDEX($E:$E,ROW())),IF(COUNTIF(Sheet3!$E:$E,INDEX($A:$A,ROW())&"◆"&INDEX($E:$E,ROW())&"◇*"),INDEX(Sheet1!$D:$D,MATCH(MATCH(COUNTIF(Sheet3!$E:$E,"<"&INDEX($A:$A,ROW())&"◆"&INDEX($E:$E,ROW())&"◇")-COUNTIF(Sheet3!$E:$E,"<*?"),Sheet3!$F:$F,0)-ROW(Sheet3!$E$2)+1,Sheet3!$B:$B,0)),""),"")
次に、Sheet2のF3セルの書式設定の表示形式を[日付]に設定して下さい。
次に、Sheet2のG3セルに次の関数を入力して下さい。
=IF(ISNUMBER(INDEX($F:$F,ROW())),IF(COUNTIF(Sheet3!$E:$E,INDEX($A:$A,ROW())&"◆"&INDEX($E:$E,ROW())&"◇"&TEXT(INDEX($F:$F,ROW()),"yyyy/mm/dd")),INDEX(Sheet1!$E:$E,MATCH(MATCH(INDEX($A:$A,ROW())&"◆"&INDEX($E:$E,ROW())&"◇"&TEXT(INDEX($F:$F,ROW()),"yyyy/mm/dd"),Sheet3!$E:$E,0)-ROW(Sheet3!$E$2)+1,Sheet3!$B:$B,0)),""),"")
次に、Sheet2のH3セルに次の関数を入力して下さい。(レイアウト変更前のD2セルの関数と同じ)
=IF(INDEX($A:$A,ROW())="","",IF(COUNTIF(Sheet3!$C:$C,INDEX($A:$A,ROW())&"◆*"),AVERAGE(INDEX(Sheet3!$D:$D,MATCH(INDEX($A:$A,ROW())&"◆1",Sheet3!$C:$C,0)):INDEX(Sheet3!$D:$D,MATCH(INDEX($A:$A,ROW())&"◆"&COUNTIF(Sheet3!$C:$C,INDEX($A:$A,ROW())&"◆*"),Sheet3!$C:$C,0))),"-"))
次に、Sheet2のB3~H3の範囲をコピーして、同じ列の4行目以下に貼り付けて下さい。
以上です。
因みに、Sheet2のA3セルに次の関数を入力してから、Sheet2のA3セルをコピーして、Sheet2のA4以下に貼り付けますと、Sheet1のA列に入力されているコード番号の内、B列が空欄となっているもののみを抽出して、コード番号を重複無しに昇順に並べ替えたものが表示されます。(A列に存在するコードであっても、B列が空欄となっている箇所が1つも存在しないものに関しては表示されません)
=IF(ROWS($3:3)>COUNTIF(Sheet3!$C:$C,"*◆1"),"",SUBSTITUTE(VLOOKUP("*◆1",IF(ROWS($3:3)=1,Sheet3!$C:$C,INDEX(Sheet3!$C:$C,MATCH(INDEX(A:A,ROW()-1)&"◆1",Sheet3!$C:$C,0)+1):INDEX(Sheet3!$C:$C,ROW(Sheet3!$C$2)+COUNT(Sheet3!$B:$B))),1,FALSE),"◆1",))
回答ありがとうございました。
質問内容に前回の内容を記載せず、非常に分かりにくく、大変申し訳ありませんでした。urlのリンクありがとうございます。
本日出張の為明日試してみます。
No.6
- 回答日時:
No.2・3です!
No.4さんの投稿を拝見して・・・
前回の質問内容を確認しました。
なぜB列に空白セルとそうでないセルがあるのかな?
という疑問を持ちながらの前回の投稿でした。
結局B列が空白で、各コードの最小値・日付・担当と最大値・日付・担当を表示すれば良い訳ですよね?
平均に関してもB列が空白セルで良いという解釈で・・・
No.2の配置そのままを利用します。
(作業列の数式もそのまま)
Sheet2のB2セル(←配列数式です)に
=MIN(IF(Sheet1!A$1:A$1000=A2,IF(Sheet1!B$1:B$1000="",Sheet1!C$1:C$1000)))
としてShift+Ctrl+Enterで確定!
C2セル(配列数式ではありません)はそのままの数式でOKです。
それと隣りのD2セルまでコピー!
E2セル(←配列数式)に
=MAX(IF(Sheet1!A$1:A$1000=A2,IF(Sheet1!B$1:B$1000="",Sheet1!C$1:C$1000)))
としてShift+Ctrl+Enterで確定!
F2セルは前回のままG2セルまでコピー!
H2セル(B列が空白の場合の平均としています)は
=AVERAGEIFS(Sheet1!C:C,Sheet1!A:A,A2,Sheet1!B:B,"")
という数式を入れB2~H2セルを範囲指定 → H2セルのフィルハンドルで下へコピー!
おそらくこれで大丈夫だと思います。m(_ _)m
回答ありがとうございました。
質問内容に前の質問を記載せず、分かりにくく本当に申し訳ありませんでした。
本日出張の為、明日試してみたいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【Excel質問】別シートにある複数の同型の表から、同じ行項目にある数字を集計する 4 2023/02/16 00:14
- Excel(エクセル) 【詳しい方教えて下さい】EXCEL条件に一致する値の複数抽出 9 2022/04/29 10:56
- Excel(エクセル) Excelの担当者割当の表から担当者を抽出する方法 4 2022/07/16 14:05
- Visual Basic(VBA) エクセルについて教えてください。 3 2023/06/28 09:11
- Excel(エクセル) Excel(エクセル)でフィルター抽出後、非表示の行を計算しないで、合計を算出する方法 【内容】 添 4 2023/01/30 17:17
- Excel(エクセル) Excelの数式についての質問 1 2022/10/31 15:50
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- その他(Microsoft Office) 従業員増減対応で当番種類の増減対応な当番表 21 2022/07/19 07:30
- 統計学 統計分析とExcelに詳しい方、何卒よろしくお願いいたします。 6 2022/05/27 10:30
- Excel(エクセル) 列を挿入しても式の一部を固定するには 6 2023/05/31 21:57
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
3COINSのスマートウォッチを使...
-
スマホで撮った写真をUSBケ...
-
パソコンのWi-Fiについてご相談...
-
メルカリで普通郵便で購入した...
-
パソコンのデータについてご相...
-
「PC Helpsoft Driver Updated...
-
電池のLR44 LR43 LR41は、LR113...
-
常時オンディスプレイとロック...
-
メモ帳で開く設定を元に戻したい。
-
100倍倍率双眼鏡は見にくいです...
-
パソコンのマイクロソフトの、...
-
全角入力
-
ps3のシステムアップデートをし...
-
USBメモリの紛失対策。みなさん...
-
メルカリの一つのアカウントで ...
-
スマホ
-
スマホSIMカードですか?それと...
-
Fire TV Stick 第3世代の補償期...
-
日本の携帯を海外旅行に持って...
-
txtはワードで開くのは間違いで...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
3COINSのスマートウォッチを使...
-
メルカリで普通郵便で購入した...
-
電池のLR44 LR43 LR41は、LR113...
-
急にデスクトップPCの電源が落...
-
『できるWindows11:パーフェク...
-
日本に、Microsoftのような会社...
-
PCメーカーとの相性
-
「至急回答お願いします」 スマホ...
-
メモ帳で開く設定を元に戻したい。
-
これは、何に使うもの? これは...
-
中国は半導体を生産するために...
-
PCの操作で困ったときに一番た...
-
「PCに関する質問サイト」って...
-
小型GPSで居場所追跡 3000円く...
-
車に詳しい方。 Panasonicカー...
-
パソコンの同期について
-
置くだけの充電器
-
教えて下さい: 外付HDに保存さ...
-
携帯の相手に電話を掛けました...
-
※ ブルーレイ(Panasonic製DMR-B...
おすすめ情報