• 締切済み

Excelで

こんにちは。現在Excelで問合せ一覧表を作っています。 通常Excelで計算式をコピーすると、上から下へ数字が増えていきますよね?それを上から下へ行くと数字が若くなるようにしたいんです。。。 1.入力用シートに、下が古い順で一番上の段に新しい問合せ内容を入力し、次の問合せを入力する際には行を挿入して入力。このシートでは入力する行は常に変わりません。 2.印刷用シートには、入力用シートに入力したものが上から古い順で一番下の段に新しい問合せが飛んで表示される。 ようにしたいのですが、現時点で入力されていない行を、予め印刷用シートに飛ばせるような計算式はあるのでしょうか? わかりづらい文章で申し訳ありませんが、回答お願いいたします(u_u,)

みんなの回答

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

#01です。入力用シートに次のようなデータがあるとします。     A列 B列     C列 1行目 番号 日付     内容 2行目 5   2006/8/1   A 3行目 4   2006/7/31   B 4行目 3   2006/7/30   C 5行目 2   2006/7/28   D 6行目 1   2006/7/26   E 入力用シートのE1に空白でない最大行番号を式で求めておきます(あとで使います) =SUMPRODUCT(MAX(($A$1:$A$1000<>"")*ROW($A$1:$A$1000)*1)) 次に印刷用シートに     A列 B列     C列 1行目 番号 日付     内容 2行目 1   2006/7/26  E 3行目 2   2006/7/28   D 4行目 3   2006/7/30   C 5行目 4   2006/7/31   B 6行目 5   2006/8/1    A と逆順に並べるなら、B2の式は次になります =IF(Sheet1!$E$1-ROW()+2>1,INDEX(Sheet1!A$1:A$1000,Sheet1!$E$1-ROW()+2),"") この式をB列、C列にコピーすると日付、内容も求められます。ただしC列は書式を日付型にしてください。 最後に2行目の式を下にずっとコピーすれば完了です。 ただし実際のシートのデータ配置に合わせてINDEX関数の行数指定を変更する必要があると思います。少しいじってみて下さい。(なおINDEX関数の範囲は必ず1行目からにします。そうしないと行挿入して入力すると参照範囲が不正になります)

tangerine1
質問者

お礼

すごいですね!!ありがとうございます。 早速試してみますm(_ _)m

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

補足要求です。言葉で「古い」「新しい」「行を挿入して」などと書かれてもイメージできません。 入力用シートはA列、B列・・は何のデータで昇順に並んでいる。印刷用シートは入力用シートのどの範囲を逆順で並べる。 など本人以外がイメージできるよう補足していただけませんか。 そのほうが期待する回答が得やすいと思います

tangerine1
質問者

補足

そうですよね。すみません^^; 入力用シートは問合せ件数が降順に(例:54321)問合せのあった日付、内容等が一列ずつ入力してあります。 入力用シートに内容を打ち込むと、お問合せの一枚の表に内容が飛ぶようになっています。 印刷用シートは、時々問合せ内容を見たい時のために、入力用シートの内容をそのまま昇順(例:12345)に並べたいのです。 入力用シートが全て入力が終わっているデータであれば何も問題はないのですが、新たな問合せが入ると、入力用シートの一番上の行を新たに挿入して入力しています。(例:6行目を5行目の上に挿入) そこで印刷用シートに、新たに挿入する予定の行からデータを飛ばしたいのですが、対応できる計算式がわからないので、ご存知であれば教えていただきたいのです。 そういった計算式がない場合は、印刷用シートを実際に印刷する段階で、入力用シートに入力されているデータを、印刷用シートに飛ばす作業をするか、印刷用シートを並べ替えしなければならないので面倒なのです・・・

関連するQ&A