- ベストアンサー
Excel操作について
- Excelで時刻の表を作成し、項目を入力規則で設定しています。時刻を表示するために行に=time(a2,b2)を設定しています。表は時刻順に並べられており、入力されたデータを実績の高い順に並び替えて表示する別の表を作成しようとしていますが、上手くいかないようです。良い方法をご存知の方は教えていただけますか?
- Excelで時刻の表を作成し、項目を入力規則で設定しています。表の時刻を表示するために行に=time(a2,b2)を設定していますが、別の表で入力されたデータを実績の高い順に並び替えて表示することができません。どのようにすれば良いでしょうか?
- Excelで時刻の表を作成し、項目を入力規則で設定しています。表の時刻を表示するために行に=time(a2,b2)を設定していますが、実績の高い順にデータを並び替える別の表を作成しようとしていますが、うまくいきません。何か良い方法はありますか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>瞬時に実績の高い順に並び替えて表示させる 肝心の「実績」に関する情報がありませんが,表1の中で実績に基づいてRANK関数で1,2,3位の順位を計算して備えておくと簡単に出来ます。 順位の列は =IF(実績セル="","",RANK(実績の順位)) などのように,データのある行だけに順位を計算して表示しておきます 仮にこの順位がE列に計算されているとすると,表2では =IF(ROW(A1)>MAX(Sheet1!E:E),"",INDEX(Sheet1!C:C,MATCH(ROW(A1),Sheet1!E:E,0))) のようにすれば順位1,2,3位の時刻が =IF(ROW(A1)>MAX(Sheet1!E:E),"",INDEX(Sheet1!D:D,MATCH(ROW(A1),Sheet1!E:E,0))) のようにすれば順位1,2,3位の項目が それぞれ並ぶ格好になります。
その他の回答 (3)
- keithin
- ベストアンサー率66% (5278/7941)
ん? 作成例: J列に =IF(I2>0,RANK(I2,I:I)+ROW()/100,"") 以下コピー を追加 表2: 表2では =IF(ROW(A1)>MAX(Sheet1!J:J),"",INDEX(Sheet1!G:G,MATCH(ROW(A1),Sheet1!J:J,0))) のようにすれば順位1,2,3位の大項目が =IF(ROW(A1)>MAX(Sheet1!J:J),"",INDEX(Sheet1!H:H,MATCH(ROW(A1),Sheet1!J:J,0))) のようにすれば順位1,2,3位の小項目が それぞれ並ぶ格好になります。 求めてある実績から,そのあとどうしたらいいのか回答No.2にてキチンと回答済みですが,そこはスルーですか? 一体どういうことでしょうか。 実際には,「実績」がたまたま同じ(たとえば7時間50分など)になっているケースもしばしば発生することが考えられます。 ふつーに関数で検索しているとダブりを分けて参照する事が出来ませんので,寄せられた回答のそれぞれも含めて気をつけて検討が必要です。
- KURUMITO
- ベストアンサー率42% (1835/4283)
表1はA列からI列までの2行目以降にデータがあるとして、表2をK,L,M列に実績の高いものから表示させるとしたら次のような式をK2セルに入力してM2セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF(ROW(A1)>COUNT($I:$I),"",IF(COLUMN(A1)=1,INDEX($I:$I,MATCH(LARGE($I:$I,ROW(A1)),$I:$I,0)),INDEX($G:$H,MATCH(LARGE($I:$I,ROW(A1)),$I:$I,0),COLUMN(A1)-1))) K列の表示形式は時刻にします。
- mt2008
- ベストアンサー率52% (885/1701)
補足願います。 実績の高低は何を基準に決めるのでしょう? 時間?項目?
補足
すみません。 実績についての記載が抜けていました。 作業開始時刻として、A列とB列にそれぞれ「時」と「分」をプルダウンで選択入力し、その情報を元にC列にTIME関数で時刻を算出します。作業終了時刻として同様の手順でD列E列F列も処理し、そして実績としてC列とF列の情報から作業時間をI列に算出させます。G列とH列にはそれぞれの作業内容の大区分と小区分をプルダウンで選択入力できるようにしています。ですので「表1」は作業開始時刻順になっています。 そして「表2」にI列の作業時間の長いもの順に作業時間と作業内容の大区分と小区分を表示させたいのです。 余分なところを省いたつもりが、逆にご迷惑をおかけしてほんとに申し訳ありません。
補足
すみません。 実績についての記載が抜けていました。 作業開始時刻として、A列とB列にそれぞれ「時」と「分」をプルダウンで選択入力し、その情報を元にC列にTIME関数で時刻を算出します。作業終了時刻として同様の手順でD列E列F列も処理し、そして実績としてC列とF列の情報から作業時間をI列に算出させます。G列とH列にはそれぞれの作業内容の大区分と小区分をプルダウンで選択入力できるようにしています。ですので「表1」は作業開始時刻順になっています。 そして「表2」にI列の作業時間の長いもの順に作業時間と作業内容の大区分と小区分を表示させたいのです。 余分なところを省いたつもりが、逆にご迷惑をおかけしてほんとに申し訳ありません。