• ベストアンサー

エクセルを日付で並べ替えると行がずれます

エクセル初心者です。何度もお世話になっております。 A列  B列  C列  D列  E列  F列  G列 日付  大分類 中分類 小分類 人名  数値  備考 こんな感じで、数百行入力してあります。 A~E列がリストになって枠で囲まれています。 B~D列にはINDIRECT関数を使って入力規制が設定してあり、ポップアップで、例えば中分類の「ほ乳類」→小分類「偶蹄類、奇蹄類、、、etc.」が選べるようになっています。 適当な順番で入力してから、日付の昇順に「並べ替え」をしたら、行がずれてしまいました。 リスト内のA~E列は日付け順に並べ替えられたものの、F~G列がそれとくっついて移動せず、最初の行の並びが崩れてしまったんです。 --------------------------------------------- 3月5日 生物  ほ乳類 偶蹄類  ヒツジさん 体重20kg  毛がもしゃもしゃ 3月4日 無生物 機械  運搬機械 自動車さん 体重1トン メタリック塗装     ↓  3月4日 無生物 機械  運搬機械 自動車さん  体重20kg  毛がもしゃもしゃ 3月5日 生物  ほ乳類 偶蹄類  ヒツジさん  体重1トン メタリック塗装    --------------------------------------------- よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • sanpin-cha
  • ベストアンサー率48% (533/1095)
回答No.4

No.2ですが、 リストの元の値はどこに置いてますか? 並べ替えで移動する可能性はありませんか? 確認してください。

hiruhiru
質問者

お礼

sanpin-chaさん、再度のご回答ありがとうございます。 え~っと、「リストの元の値」ってなんでしょうか? ド素人ですいません! 入力規制の「元の値」は、 1、大~小分類の列ごとに、別のシートにリストを作ってあります。 2、大分類と中分類の列については、そのリストの任意の項目をポップアップで選択できます。 3、小分類の列については、INDIRECT関数で、左の列で選択した中分類に属する小分類だけがポップアップされるので、その中から選択できます。 こういう意味でしょうか? お手間をとらせて恐縮です。ご回答ありがとうございました。

その他の回答 (4)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.5

#3です。 >入力規制のINDIRECT関数を外さなければいけないんでしょうか。。。 私が#3に書いたのがいけなかったかも。過剰反応して即断しないで下さいね。私の言っているケースの可能性は少ないですから。また入力規則(リスト利用)なら、選択して入力した段階で、セルに値として固定されている(並べ替えても影響を受けない)と思いますが。 INDIRECT関数が心配ならどの列に、どのように式が入っているのか、補足されると、よく判っている方が教えてくれるでしょう。

hiruhiru
質問者

お礼

imogasiさん、再度のご回答、どうもありがとうございます。 >また入力規則(リスト利用)なら、選択して入力した段階で、セルに値として固定されている(並べ替えても影響を受けない)と思いますが。 そうですか。安心しました。 下に書いたのが不正確だったのですが、INDIRECT関数は、小分類の列にだけ、それも行の途中から適用されています。 中分類を選ぶと、その中に入っている小分類だけが選べるという設定です。 この設定をしたのが4月なので、設定以降に入力した行にだけ適用されるようになっています。 ご回答どうもありがとうございました。

hiruhiru
質問者

補足

皆さま、ご回答ありがとうございました。 時間が経ちましたので締め切らせていただきます。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

本件は#1、#2のご解答ではないかと思います。 ただ元に戻すが効かないと再現性がなく、納得しがたいでしょうが。 本件と関係ないと思いますが、しかし並べ替えは、関数が 特別な時は並べ替えによって影響を受けるケースがあり得るのではないでしょうか。具体例で気の利いた例が上げられませんが 2004/2/1 2 =row(B1)+1で  2 2004/3/1 3 =row(B2)+1で 3 2004/1/1 4 =row(B3)+1で 4 を並べかえると 2004/1/1 4 2 2004/2/1 2 3 2004/3/1 3 4 となり、行の内容が変ります。

hiruhiru
質問者

お礼

ご回答どうもありがとうございます。 初心者で、おっしゃる意味がよくわからないのですが(^^; 要するに、関数を使っていると並べ替えがうまくいかないこともあるわけですね? 入力規制のINDIRECT関数を外さなければいけないんでしょうか。。。 このサイトで教えていただいて、苦労の末にやっと設定したので、外したくないんですけど(涙 頑張って手入力で順番を直すしかないでしょうか。 どうもありがとうございました。

  • sanpin-cha
  • ベストアンサー率48% (533/1095)
回答No.2

表全体を選択した状態(反転させた状態)で、並べ替えを実施しても同じでしょうか?

hiruhiru
質問者

お礼

ご回答ありがとうございます。 表全体を反転させた、というのは、全体がブルーになるという意味でしょうか? #1の方へのお礼にも書きましたが、それはさっき試してみました。やっぱりずれてしまいます。 入力規制をしたのがいけなかったのでしょうか。。。 ご回答ありがとうございました。

hiruhiru
質問者

補足

ブックの複製を作って、それで実験してみました。 A~E列のリストを解除し、改めてA~G列をリストに設定してから並べ替えてみたら、こんどはずれませんでした。 でもこうすると、リストにする必要のないF~G列もリストになるので、入力するとき不要な文字がポップアップされてしまうし、データ量も多くなりますよね? 並べ替えはリスト内部でしかできないんでしょうか? もしお時間があったら、教えていただけると幸いです。

  • ymmasayan
  • ベストアンサー率30% (2593/8599)
回答No.1

並べ替えの範囲設定が狭すぎたのではないですか。

hiruhiru
質問者

お礼

早速のご回答、ありがとうございます。 リストが設定されている表の列見出しの「日付」横の、   ▲   ▼ のマークを使いました。 さっき、表全体がブルーになる状態にして、もう一度   ▲   ▼ を使って並べ替えてみましたが、やっぱりずれてしまいます。 どこがいけないのでしょうか? ちなみに、過去Q検索で、空白の行があってはいけないと書いてあったので、A~E列は空白なしにしてあります。G~F列はほとんどが空白です。 ご回答ありがとうございました。

関連するQ&A