• ベストアンサー

エクセルで列が上下にずれないようにしたい

エクセルで例えば、住所録を作るとします。 名前  住所    電話 田中  東京    999 芳田  大阪    888 このような表で、電話の列が誤操作で次のようにずれたとします。 名前  住所    電話 田中  東京     芳田  大阪    999             888 そうすると、吉田さんの電話番号が間違いになってしまい困ります。 田中さんや芳田さんの横方向の並びは絶対にずれないようには出来ないでしょうか? ソートして、田中さんを芳田さんの下にくるような、並べ替えの操作は出来るようにしておきたいのですが。

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

  • ベストアンサー
  • Cupper-2
  • ベストアンサー率29% (1342/4565)
回答No.6

ずれたら気付けばいいのか。 それなら1行おきにセルの色を変えておけばいい。 セルの条件付き書式ではなく、普通に塗りつぶしの色やパターンを決めておくの。 1行目に塗りつぶしをして、2行目には塗りつぶしをしない。 1行目と2行目を選択してコピー。 貼り付けたい範囲を選択して、「形式を選択して貼り付け」から「書式」を選んで貼り付け。 はい。これでセルが「ひとつだけ」ずれたら見た目で判断できます。 コレを応用して、10行毎に色やパターンを変えておけば偶数行ずれてしまっても 見た目でずれを判断できますよ。 1行目から10行目までは「薄い黄色」と「白」、11行目から20行目までは「薄い水色」と「白」が交互に並ぶ…なら見やすいと思いますけど? これで気付かないとかだったら、シートの保護とかマクロとかでガチガチに固めてしまわないとダメでしょ。

mk1234
質問者

お礼

回答ありがとうございます 確かにこれはいい手かも。 エクセルに列は固定という機能があれば良いのにと思います

その他の回答 (5)

  • masatsan
  • ベストアンサー率15% (179/1159)
回答No.5

シートの操作はすべてマクロ(パスワード保護)でやるしかないのでは。 使い勝手は格段に悪くなるけど。

mk1234
質問者

お礼

回答ありがとうございます

回答No.4

元データがそのような操作をしてしまったらダメなのでイマイチかもしれませんが、 (ACCESSのようなデータベース作成ソフトの出番かな) 元データがSheet1!A2:D20セル範囲にあるとして Sheet2のA2:D2セル範囲を選択し、 =Sheet1!A2:D2 または =Sheet1!A2:D2&"" として [Ctrl]+[Shift] +[Enter] で確定({}で囲まれる) 下へオートフィル とし、Sheet2で並び替えている分には ズレが生じないと思います

回答No.3

う~ん…「絶対に」ずれないように、とのことですが、どんなソフトを使い、どんな工夫をしようとも、人間が操作する限り、人為的なミスが発生する確率がゼロになるということはあり得ないわけです。 また、変更ができないよう厳しく制限するほど操作の自由度が減ってしまうことは、避けようがないわけですね。 こまめにデータを保存したり、バックアップを取っておくことは当然として、Excel ではシートの保護という対応をしていることが多いです。 また、「「読み取り専用」でファイルを開くことを強制する設定」というのを、さっき別の方のご質問でお答えしたばかりなので、よかったらご参照ください(参考 URL)。これは読み取り専用になるだけですから、並べ替えなどはできます。 しかしこれらの方法でも、例えばファイルごと削除してしまうリスクとかもありますね。Excel の機能ばかりでなく、もっと全体的なデータ管理だったり、様々な局面におけるリスクへの対応について考える必要がありそうです。 例えばパソコンが得意な人とそうでない人が同一ファイルを操作することになっている場合、得意でない人がデータを入力し、別のシート上で、得意な人が集計とかデータ全体の保存・保護のための処理を担当するというふうに、運用面を工夫するだけでもリスクは減るのかもしれませんね。

参考URL:
http://okwave.jp/qa/q7922324.html
mk1234
質問者

お礼

回答ありがとうございます

  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.2

逆を考えてみませんか。 どうやったら、そのようにずれるのでしょう? データを保持したままでずれている、と言う質問文中のパターンだと、 ・電話の列にセルを挿入して下にずらす ・名前・住所の列からセルを削除して上へ詰めた どちらかですよね? これらは「人為的に操作した結果」です。 これらが「いつの間にか起こっている」事は無いのですから、 それを事前に抑制する機能なんてエクセルにはありません。 > 横方向の並びは絶対にずれないようには出来ないでしょうか? 横方向の並びを絶対にずらさないように気を付ける、くらいしかないでしょう。 > 気がついていたら、データがおかしくなっていた。ということが起きないように データがおかしくなりそうな操作をする前に上書き保存する癖をつけたらいかがですか? ショートカットキー「Ctrl+S」ですぐに出来ますから。 「他の人にレイアウトを崩されたくない」と言うのが趣旨だとしたら、 シートを保護しておくのが良い方法だと思います。 2007以降であれば、校閲タブからシートの保護 2003以前なら、ツール→保護→シートの保護 でそれぞれダイアログが出てきます。

mk1234
質問者

お礼

回答ありがとうございます スレにないようにする機能はないのですね。

  • Cupper-2
  • ベストアンサー率29% (1342/4565)
回答No.1

誤操作したならアンドゥ操作で戻せばいい。「1つ前に戻す」ボタンがありますよ。 キーボードのショートカットなら [Ctrl]+[Z」 空白を削除して上に詰めるという方法もあります。 空白のセルを選択してマウスボタンを右クリックして、メニューから削除を選び、削除したセルを上に詰めるような選択をすればOK。 常にソートで並べ替えができるようにするには裏技として ルビ(よみがな)を付けるという方法がありますが半角英数字にはルビを付けられません。 これはExcelのソートはルビの優先が高いことを使った方法です。

mk1234
質問者

お礼

回答ありがとうございます。 もちろん誤操作した直後ならアンドゥで良いのですが、気がついていたら、データがおかしくなっていた。ということが起きないように、列がズレに内容に固定したいのです。 せっかく回答頂いたのにすみません。

関連するQ&A

専門家に質問してみよう