• ベストアンサー

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

エクセル初心者です。何度もお世話になっております。 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/17068)
回答No.5

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

hiruhiru
質問者

お礼

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

hiruhiru
質問者

補足

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

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答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

  • エクセルで、異なる日付の入っている行を抽出する。

    1 あ  20060102  20060102  さる 2 い  20060203  20060203  いぬ 3 う  20060303  20060301   きじ 4 え  20060404  20060404  ねこ 5 お  20060501           わに 2つの列に年月日が入力されてますが、上のように数値として入力されています。 5の行のように右の列の日付が空白になっているものもあります。 この中から2つの列の日付を比較して、両方に日付が入力されていてかつ異なる行を下記のように、抽出したいのです。 3 う 20060303 20060301 きじ オートフィルタのフィルタオプションでやろうと思ったのですが、うまくいきませんでした。 よろしくお願いします。

  • Excelセルに条件付きの日付を入力したい

    B列5行目の日付を入力したときD列5行目の数字とその上の行にある数字が一致した右隣E列と日付の差が5日以上経過していればC列5行に"ー"を差が5日未満であればB列の日付に5日を足した日付を順々に入力したいのですがどなたか関数の解る方よろしくお願いします。 因みに環境はoffice2013です。

  • エクセルの日付

    エクセルの日付についてご教示ください。 現金出納帳の日付蘭(文字列)に◯月◯日とだけ入力されています。同じ年の1月から12月まで、1,000行ぐらいです。 これを◯◯◯◯/◯◯/◯◯という形式に加工したいのですが、どうすればいいでしょうか?

  • エクセルの日にちごとのアンケート集計の関数について

    シート名(アンケート) A列:日付 (12/1 12/2 など) F列:分類 (電話 パソコン  など) シート名(合計) A13には 12/1と記入されており 13行は 12/1の分類の集計を入力致します。 14行は 12/2の分類の集計を入力致します。 その際、13行のE(E13)には12/1の 電話の集計     13行のF(F13)には12/1の パソコンの集計     14行のE(E14)には12/2の 電話の集計 を入力する場合、どのような関数を使えばよろしいのでしょうか。 よろしくお願いします。  アンケートと合計は 同じBOOKのエクセルの中にあります。 ご教示いただけますでしょうか。

  • excelで行または列の幅を変えたい

    生物の分類の表を作っているのですが、同じ列で全部ではなくて一行目とか二行目はそのままで三行以降から高さを換えたい場合にはどうすればよいですか。 何とも口で言いにくい質問ですが何とかカバーして答えてください。

  • エクセル 日付の修正

    お尋ね致します。 あるエクセルの表なんですが、A列が、31001(令和3年10月1日)という形の日付になっています。 これをyyyy/mm/ddに変えるため、B列の全行に2021と入力し、C列にmid関数で月を取り出し、D列にright関数で日を取り出し、この3列を使ってE列をdate関数で2021/10/01 にしています。 これよりスマートな方法があったらご教示願えませんでしょうか? ちなみに最後の形はR3/10/01でもOKです。

  • Excel 日付

    はじめまして。 Excel 2007を使用しています。 10日締めで、11日~翌月10日までの日付の自動入力の式を教えて頂きたいです。 C4、D4、E4…と横に11日から10日まで31列。 なのですが、2月や4月で31日までない月は、ない日付は空白にして1日、2日と続くようにしたいです。 C4に例えば2014/2/11と入れたら、自動的に入力されるようにしたいのですが、空白が入るようにしたいです。 説明が分かりにくかったら申し訳ないです! よろしくお願いいたします。

  • エクセルVBA 行追加時に自動で罫線を引きたい

    こんにちは。いつもお世話になっています。 エクセル2007を使用し、データーベースの表を作っています。 A列からE列まで情報の項目があり、(日付・名前等) 3行目からずっとデータを入力しています。 新しい行に、A列からE列の間に何か入力した時、 もしくは入力してある最終行にカーソルがある時、改行を押した場合 次の新規の行AからEまで、自動に罫線を引くにはどうしたらよいのでしょうか?

  • EXCELで日付ごとに行の色分けを行うには?

    下記のような表でB列に入力してある日付をもとに行の色分けをしたいと考えています。 条件書式やVBAを試してみましたがどのようにしたらよいかわかりません。 どなたか教えていただけませんでしょうか。宜しく御願い致します。 A |   B    |   C ABC | 20120903 | 1 DEF | 20120903 | 3 GHI | 20120904 | 7 JKL | 20120905 | 3 MNO | 20120905 | 5 OPQ | 20120910 | 6

  • EXCELのDSUM関数で集計条件に日付を入れると数字が消える

        B列      C列     D列   E列      F列      G列 1行  日付      区分    金額   集計する条件 2   2000/1/1   A社   1000    区分     日付      日付 3   2000/1/10    B社    500   A社    >=2000/1/1  <2000/2/1 4   2000/1/15    A社    300    5   2000/2/5   A社     200    集計結果 6                        =DSUM(B1:D5,3,E2:G3) 上記のような表をEXCELで作成しました そのうちA社の1/1~1/31の金額をDSUM関数を利用して集計したく 上記のようにDSUM関数に引数を入力しました しかし集計条件が区分のみ(E2:E3)だとA社の2/5までの合計額1500が反映するのですが、日付を入れた途端に0になってしまうのです ちなみに、一例として日付→商品区分に直して日付の代わりに 「機械」「部品」といった文字を入力してみると ちゃんと条件通りの集計をしてくれます 日付の入力のしかたに間違いがあるのでしょうか? テキスト見ながらちゃんとやってると思いこんでるだけで 落とし穴にはまってるのだと思います 是非良きアドバイスをお願いします  

専門家に質問してみよう