Excelで行ごとに背景色を交互にする方法

このQ&Aのポイント
  • Excelで2行目から51行目までの行ごとに異なる背景色を設定する方法について説明します。
  • 具体的な方法は、条件付き書式を使用して数式を設定し、行の削除に対応する方法です。
  • A2からP51までのセル範囲に以下の数式を設定します:=MOD(ROW(),2)=0。これにより、行ごとに背景色が交互に表示されます。削除した行でも、背景色は補完されます。
回答を見る
  • ベストアンサー

Excel 背景色を2色交互にしたい。

Excelについて質問です。 2行目から51行目(1行目を見出しとし、50行分)を、1行おきに異なる背景色にしたくて、条件付き書式の下記の「新しいルール」から「数式を使用して、書式設定するセルを決定」で下記のように入力しました。 =MOD(ROW(),2)=0 (もう1つ =MOD(ROW(),2)=0 も別で設定しています) 適用先を =$A$2:$P$51 としているのですが、行の削除をした時に $51の部分の数字が削除した行の数だけ減ってしまいます。 行を削除しても、きちんと50行分だけ背景色を保ちたいのですが、どのようにしたらできるでしょうか? 完全に他のやり方でも構いません。A2~P51までの背景をを交互(行ごと)に指定の2色にしたいのです。 そして、行などを削除したとしても補完(また50行分背景色が表示)されるようにしたいということです。 やり方がわかる方、ぜひ教えて下さい。

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

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

シートのセル範囲指定(行指定範囲で、範囲指定かな) オームー条件付き書式で 数式を使って条件を指定で 式 =ISODD(ROW()-1) 行番号が奇数なら 書式を、セルの塗りつぶし色指定で(淡い色がおすすめ) OK 第2条件で 式 =ISEVEN(ROW()-1) 行番号が偶数なら 書式を、セルの塗りつぶし色指定で  別の色を指定(淡い色がおすすめ) OK これで行削除しても、行の色の交互性は変わらない。 ROW()関数の自動性・変動性による。 質問者も似たようなことを別の式でやっているだろうが、Row()関数以外の利用では、うまくできているかな? === 途中行などを行削除すると、条件付き書式の適用のセル行の範囲(=色付き行数)の行数は減る。 これを自動で、増やすのは難しい。VBAを使わざるをえず、質問者のレベルを超えているだろう。 また エクセルの仕組の、「テーブル」を設定した場合、最下行へのデータの追加には、色々対処してくれる ようだが、条件付き書式への追加はどうなるか、テストする時間がない。 途中行の削除には、無理だろうと予想。 ーー 参考 Excel (VBA) : 行・列が挿入・削除されたことを検知する https://blog.goo.ne.jp/ashm314/e/cf368792a0989429e24b567bf2fdec10 Changeイベントを用いて、検出する方法。

digital_amusia
質問者

お礼

ありがとうございます。 もう少し勉強が必要そうですね。色々と試して頑張ってみます。

その他の回答 (4)

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.5

>下記のように入力しました。 「=MOD(ROW(),2)=0」は偶数行の条件ですよね? 「(もう1つ =MOD(ROW(),2)=0 も別で設定しています)」これも偶数行の条件になりますがタイプミスでしょうか? >行を削除しても、きちんと50行分だけ背景色を保ちたいのですが、どのようにしたらできるでしょうか? 「適用先を =$A$2:$P$51 としているのですが、」 それでは目的に合いません。 適当範囲を全範囲にすることで対応する条件式を組んでください。 複数の条件指定はAND関数やOR関数または条件式の乗算や加算で対処できます。 尚、1個以上のセルを追加または削除することも考慮されると良いでしょう。 =AND(MOD(ROW(),2)=0,ROW()>1,ROW()<52,COLUMN()<17) =AND(MOD(ROW(),2)=1,ROW()>1,ROW()<52,COLUMN()<17)

digital_amusia
質問者

お礼

ありがとうございます。 以前まで適当範囲ではなく全範囲でやっていたのですが、立ち上がりがすごく遅いので適当範囲にしようと思ったのですが・・・もう少し色々と試してみます。

回答No.4

削除するたび、一回、一回、実行しないといけませんが、マクロで色を付けてみてはどうでしょう。 Sub 行に色() Dim RNG As Range Range("A2:P51").Select For Each RNG In Selection If RNG.Row Mod 2 = 0 Then RNG.Interior.ColorIndex = 17 Else RNG.Interior.ColorIndex = 24 End If Next End Sub 色のコードは↓を参考にしてください。 https://www.sejuku.net/blog/32288 今の色を使いたいときは、 セルをアクティブにしておいて リボンの 塗りつぶしの色の”下向きアローボタン”クリック その他の色 クリック ”ユーザー設定”タブ クリック そこに表示される RGB もしくは Hexを参考に、Excelのコードを取得してください。

digital_amusia
質問者

お礼

ありがとうございます。 マクロは難しそうですし、削除するたび、一回、一回、実行しないといけないというのはちょっと・・・もう少し色々と試してみます。

  • chayamati
  • ベストアンサー率41% (254/607)
回答No.3

列を追加して、この列zに連続番号を入れて=MOD(z2,2)=0  として色分けの条件になりませんか、この列を右クリックから非表示にしても問題ありません

digital_amusia
質問者

お礼

ありがとうございます。 もう少し色々と試してみます。

  • Nobu-W
  • ベストアンサー率39% (725/1832)
回答No.1

>> =MOD(ROW(),2)=0(もう1つ =MOD(ROW(),2)=0も別で設定しています) というのは縞模様で交互に色付けするという事ですよね? 一度その設定2つを消して・・・指定したいセル範囲を選択して、 「新しいルール」から「数式を使用して、書式設定するセルを決定」 で・・・ =MOD(ROW(),2)=0 でセル色指定 =MOD(ROW(),2)=1 で違う色指定 のOKをしてみて下さい 思うようになりませんか? 他にも手段はありそうですが・・・下記サイト参考にしてみて下さい https://dekiru.net/article/19573/

digital_amusia
質問者

お礼

ありがとうございます。 まさに、そのサイトを見てやってみたんですよね。 もう少し色々と試してみます。

関連するQ&A

  • Excelでオートフィルタ時に交互塗りつぶし

    Excelでオートフィルタで絞ったあとでも交互に塗りつぶしをするためにはどうすればよいでしょうか? まずは条件付き書式で =MOD(ROW(),2)=0 として交互に塗りつぶしができたのですがその後にオートフィルタで絞ると当然ですが交互に塗りつぶしができてません。

  • エクセルで、1行おきに自動で背景色を付ける方法

    エクセルで1行おきに自動で背景色を付ける方法を教えて下さい。 条件書式で『=MOD(ROW(),2)=0』を入力する方法はわかったのですが、 何も入力されていない時にも背景色が付いているので、 私が希望する事が出来なかったので質問させて頂きました。 何も入力されていない状態では色が付かずに、 文字や数字が入力されると、自動的に1行おきに背景色を付けたいです。 お知恵を貸して頂けますようにお願い致します。

  • エクセルで数式は登録できますか?

    エクセル2000の条件付き書式の設定で   セルを選択して 一行おきに書式を設定したいので 数式が をえらんで MOD(ROW(),2)=0と入力しますよね。  この作業を50シートくらい繰り返したいのです。 その数式をコピー/貼り付けしようとしても出来ませんでした。 辞書に文字登録も出来ませんでした。   毎回 数式を打ち込むのは面倒なのですが 登録することは可能ですか?

  • Excelで配列数式を使わずにとびとびの集計をしたいのですが

     ご覧いただきありがとうございます。Excelで、下記のような条件で集計を行いたいと思っています。配列数式を使う方法は考えついたのですが、できれば配列数式を使わず、作業セルもマクロも使わずに普通の関数式で集計したいのです。どなたかおわかりになる方がいらっしゃいましたら、よろしくご教示をお願いいたします。 (条件)  ○4行一組のデータのそれぞれ1行目の数値を足し合わせる。  ○ただし、各組の1行目が空欄の場合は2行目の数値を使う。3行目・4行目は関係なし。  ○データの先頭はA4で、データ数は一定していない。 (考えついた式) {=SUM(IF(MOD(ROW(A4:INDIRECT("A"&ROW()-4)),4)=0,IF(A4:INDIRECT("A"&ROW()-4)>0,A4:INDIRECT("A"&ROW()-4),OFFSET(A4:INDIRECT("A"&ROW()-4),1,0))))}  よろしくお願いいたします。

  • エクセルのセルの書式設定について教えてください。

     PCはXPでエクセルの2007を使用しているのですが、セルの書式設定で、分からないことがあるので教えていただければ、助かります。  何が分からないかと言いますと、作成しているシートの行を見易くするために、一行置きに罫線の色を変えているのですが、ホームタブのスタイル→条件付き書式→新しい書式のルール→数式を使用して、書式設定するセルを決定→数式「 =MOD(ROW(),2)=0 」を入力、書式(F)ボタンを押しセルの書式設定ウインドが開くので、罫線タブ→そしてこのときに線のスタイルを選ぶのですが、通常の書式の線のスタイルの種類より少ないので、私は太い線を用いたいと思っているのにも拘らず、それが無いのでどうしてだろうと思い質問させていただくことにしました。どうか一つ宜しくお願いしたいと思います。

  • エクセルの条件付き書式で同じ曜日毎に交互に行の色を変えたいのですが・・・

    エクセルの条件付き書式で同じ曜日毎に交互に行の色を変えたいのですが・・・ 順番にずっと曜日が並んでいるわけではなく、抜けている曜日があったりするので、単純に「$A1=1」「$A1=2」「$A1=3」・・・などと設定すると交互ではなくなってしまいます・・・ 3日ほど色々条件を考えたのですが・・・出来ませんでした・・・ どなたか詳しい方、教えてください。 下記のような感じで並んでいます。    A   B   C   D ・・・・ 1  月  (この行を赤にしたい) 2  月  (この行を赤にしたい) 3  水  (この行を白にしたい) 4  木  (この行を赤にしたい) 5  木  (この行を赤にしたい) 6  木  (この行を赤にしたい) 7  土  (この行を白にしたい) 8  土  (この行を白にしたい) ・ ・ ・ どうかよろしくお願いします。

  • 1行おきのセルの合計数式結果が0になってしまいます。エクセル

    1行おきのセルの合計数式結果が0になってしまいます。エクセル データ範囲がE2からU117あり、E列のE2から1行おきに数値E116までを合計するため E118に次の数式を入力しました。 =SUM(IF(MOD(ROW(E2:E117),2)=MOD(ROW(E2),2),E2:E117)) Ctrl+Shift+Enterすると結果が0になってしまいます。 指定の行には数値以外に「-(ハイフン)」や、範囲行に数式が入っていたりするからでしょうか?   E 2   50  ←足したい 3  数式 4   -  ←足したい 5  数式 ・     ・ 117  150  ←足したい 118  数式 119  =SUM(IF(MOD(ROW(E2:E117),2)=MOD(ROW(E2),2),E2:E117))

  • エクセルで空白を詰めデーター抽出について

    こちらのサイトで前にあった質問なのですが…うまく活用できないので詳しく教えて下さい。 http://okwave.jp/qa4199738.html ↑の質問の活用方法なのですが、質問の方と同じような事で回答での数式で試してみました。 =IF(ROW()>MAX(Sheet1!$C$1:$C$100),"",INDEX(Sheet1!$A$1:$B$100,MATCH(ROW(),Sheet1!$C$1:$C$100,0),1)) この数式を元にしてみましたがうまくいきません。 見出しや項目を3行目までいれているので、4行目から抽出したデータを表記したいのですが、1~3行分が表記されません。 シート1でカウントをつけた1~3までが見出しや項目の所に入るようになっているのだという事はわかるのですが、項目等をはずしてしまうと見づらくなるので4行目から表記される為には、上の数式のどこを直せば良いのでしょう? ご回答お願い致します。

  • Excelの条件付書式設定で1行おきに色をつけたシートにフォントの色の条件を指定したい

    Excel2003です 1行おきに色をつける条件付書式 「数式が =MOD(ROW(),2)=0のとき パターンを黄色」 を設定したシートのある列に 数値がマイナス(0より小さい)のとき、フォントの色を赤 数値がプラス(0より大きい)のとき、フォントの色を黒 の条件付書式設定したいのですがその方法を教えてください

  • エクセル 条件付書式より優先させたい

    一行おきに色を変えて見やすくするために、 「条件付書式」で「数式が」 =MOD(ROW(),2)=0 を設定しました。 その色のついたセルの上に、 また新たに違う色で強調するために、 セルを塗りつぶしたい部分があるんですけど、 塗りつぶすことができません。 どうすればよいでしょうか? よろしくお願い致します。

専門家に質問してみよう