- ベストアンサー
Excel 別シートのデータを自動で並べ替えつつ表
お世話になります。 Excelで、以下のように2つのデータが並んだ表があるシート(1)を作ります。 A B C F 1 タイトル 販売数 廃棄数 2 ●●● 50 20 3 ▲▲▲ 45 30 4 ✕✕✕ 40 35 このシートを複製し、全く同じシート(2)を作ります。 この時、シート(1)は販売数順、シート(2)は廃棄数順に並べつつ、両シートが連動するようにする方法はありますでしょうか? イメージ的にはシート(1)で追加・修正すると、自動でシート(2)にも反映するような。 LARGE関数等でやってみようと思いましたが、完成されてるデータならまだしも、行を追加したりするとズレてしまいます。 説明も表も下手で申し訳ないですが、分かる方いたら教えていただければ幸いです。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
以下に訂正 =IF(C2="","",C2+ROW(A1)*0.00001)
その他の回答 (4)
- msMike
- ベストアンサー率20% (364/1804)
添付図参照(Excel 2019) Sheet_0:データ入力用Sheet  ̄ ̄列 E:F→作業用範囲  ̄ ̄G/標準;; に書式設定し、式 =IF(A2="","",SUM(B2,ROW()/1000))  ̄ ̄を入力したセル E2 を右隣り&下方にズズーッとオートフィル  ̄ ̄当該式の目的は、販売数/廃棄数各列のデータが同じ場合は上から  ̄ ̄順に出力させるため Sheet_1:販売数降順出力Sheet  ̄ ̄A2: =IFERROR(INDEX(INDIRECT(A$1),MATCH(LARGE(販売数1,ROW(A1)),販売数1,0)),"")  ̄ ̄B2: =IFERROR(LARGE(販売数,ROW(A1)),"")  ̄ ̄C2: セル A2 をここにコピー&ペースト  ̄ ̄範囲 A2:C2 を下方に8行目までオートフィル Sheet_2:廃棄数降順出力Sheet  ̄ ̄A2: =IFERROR(INDEX(INDIRECT(A$1),MATCH(LARGE(廃棄数1,ROW(A1)),廃棄数1,0)),"")  ̄ ̄B2: セル A2 をここにオートフィル  ̄ ̄C2: =IFERROR(LARGE(廃棄数,ROW(A1)),"")  ̄ ̄範囲 A2:C2 を下方に8行目までオートフィル オ・シ・マ・イ お願い: 検証が不十分だったかも、検証していただけると仕合せです。 m(_._)m
- kkkkkm
- ベストアンサー率66% (1719/2589)
追加です もしC列に同じ値がある場合はD列にでも =C2+ROW(A1)*0.00001 として下にコピーしてC列参照してる所をD列に変更してください
- kkkkkm
- ベストアンサー率66% (1719/2589)
回答No.1の追加です。 もし、Sheet1の昇順・降順の設定に同調したいのでしたらやたら長くなりましたが =IFERROR(IF(Sheet1!$B$2>INDIRECT("Sheet1!$B" & COUNTA(Sheet1!$A$2:$A$1000)+1),INDEX(Sheet1!$A$1:$C$1000,MATCH(SMALL(Sheet1!$C$1:$C$1000,COUNTA(Sheet1!$A$2:$A$1000)-ROW(A1)+1),Sheet1!$C$1:$C$1000,0),COLUMN(A1)),INDEX(Sheet1!$A$1:$C$1000,MATCH(LARGE(Sheet1!$C$1:$C$1000,COUNTA(Sheet1!$A$2:$A$1000)-ROW(A1)+1),Sheet1!$C$1:$C$1000,0),COLUMN(A1))),"")
- kkkkkm
- ベストアンサー率66% (1719/2589)
Sheet2のA2に =IFERROR(INDEX(Sheet1!$A$1:$C$1000,MATCH(SMALL(Sheet1!$C$1:$C$1000,COUNTA(Sheet1!$A$2:$A$1000)-ROW(A1)+1),Sheet1!$C$1:$C$1000,0),COLUMN(A1)),"") で、右と下にコピーして試してみてください。 とりあえず1000行までにしてます。 逆順でしたらSMALLをLARGEしてみてください。
お礼
お礼遅くなりまして申し訳有りません。 最初のご回答の関数で望む通りにいけました! ありがとうございます!