一回も披露したことのない豆知識

こんにちわ。
今回の質問は、エクセルのオートフィルタに関することです。

セルを縦に結合していた場合、オートフィルタをすると罫線が表示されないことがあります。

| 名前 | 年齢 | 子供 |
-----------
| 田中 | 30歳 | 万次 |
-----------
|    |    | 太郎 |
|    |    | 次郎 |
| 佐藤 | 55歳 | 三郎 |
|    |    | 四郎 |
|    |    | ポチ |
-----------


上のような表があった場合、オートフィルタで『子供』の『次郎』だけを探した場合、『佐藤』の名前の上下の罫線が表示されません。
元々表示が無い場所ですから、当たり前なのですが・・・・・・・
コレをどうにかして表示する方法はないでしょうか。
どのような方法でも構いませんので、思い当たる方はご教授頂けると非常にありがたいです。

ネットで色々探したのですが、解決法が見つからず。
もはや不可能な事なのかと半分諦めていますが、何か方法があればヨロシクお願い致します。

A 回答 (2件)

まず


>『子供』の『次郎』だけを探した場合
のように「単一の行が表示されるようにフィルタする場合」ですが、

1.
 見出行の 「名前」「年齢」セルを選択し、
 右クリック > [セルの書式設定] > [罫線]タブ で、
 【下辺罫を一度解除してから】再度下辺罫を設定

2.
 リストの最下行の直下の行(「ポチ」の下の行)の、
 「名前」「年齢」列のセルを選択し、1と同様に、
 【上辺罫を一度解除してから】再度上辺罫を設定

とすれば、フィルタをかけても、
【見出行の下の罫線】と【最下行の直下の行の上の罫線】が表示されるので、
見た目は「佐藤」の上下に罫線があるように見えます。
※改ページや印刷範囲を設定する際には「最下行の直下の行」を含むように設定します。
-------------------------------------------------------------------
一方、「フィルタの結果、複数の行が表示される場合」
例えば、

名前 |子供 |性別
-----------------------
    |太郎 |男
    -----------------
田中 |雪子 |女
    -----------------
    |次郎 |男
-----------------------
    |一郎 |男
    -----------------
佐藤 |月子 |女
    -----------------
    |花子 |女
-----------------------

という表で「性別:女」でフィルタした場合は、
「田中」と「佐藤」の境界の罫線は表示されません。

これは、まぁ、おっしゃるように元々「無い」わけですから、
どうしようもありません。

ただ、あくまで【代替案】としてですが、
条件付書式を使うことで、
・「実際にはセルを結合せず、見た目だけ結合する」
 (ただし「中央揃え」ではなく「上詰め」の見た目)
・「フィルタの状態に応じて罫線を自動的に張り替える」
方法があります。

以下、文章で説明すると複雑ですが、
慣れればサクっと作れるようになります。

0.例えば、A1セル以下に、次のように表があるとします。

名前 子供 性別
田中 太郎 男
田中 雪子 女
田中 次郎 男
佐藤 一郎 男
佐藤 月子 女
佐藤 花子 女

※名前列はセルを結合せず、Ctrl+Enter等を使ってすべて埋めておきます。
※この時点では罫線は引かない方が良いです。

1.空き列(仮にD列とします)の2行目に、数式
   =IF(SUBTOTAL(3,A2),A2,OFFSET(D2,-1,))
  を入力して行数分フィルし、D列を非表示にします。
  ※この数式は「表示されている(自行を含め)直近の名前」を返します。
  ※相対参照ではなく自行を基準にOFFSETするのは
   行の削除で#REF!になるのを防ぐためです。

2.A2以下について、背景色とフォント色をいずれも[白]にします。
  ※この時点でA列は見出しを除いて真っ白になります。
  ※背景色も白で塗ることで枠線が表示されなくなります。

3.A2以下を選択し、[書式]>[条件付書式]で、
   数式が: =A2<>OFFSET(D2,-1,)
   書式: フォント色⇒黒 罫線⇒上辺罫
  とします。
  ※この数式は「自行の名前」が
   「見た目の直上の行の名前」と異なる場合にTRUEになります。

4.「縦罫」「B列・C列の上下罫」「見出行の上下罫」「最下行直下の行の上辺罫」
  を引けば完成です。

この時点で、見た目は

名前 |子供 |性別
-----------------------
田中 |太郎 |男
    -----------------
    |雪子 |女
    -----------------
    |次郎 |男
-----------------------
佐藤 |一郎 |男
    -----------------
    |月子 |女
    -----------------
    |花子 |女
-----------------------

となり、「性別:女」でフィルタした場合も

名前 |子供 |性別
-----------------------
田中 |雪子 |女
-----------------------
佐藤 |月子 |女
    -----------------
    |花子 |女
-----------------------

と、「田中」「佐藤」の境界に罫線が表示されます。

この方法だと、セルを結合した場合に比べて、
・名前列でフィルタできる
・並べ替えができる
・名前列を使ってCOUNTIFやSUMIF等が使える
・グループの先頭行を削除しても名前データが消えない
という利点があります。

ただし、
・見た目の配置が上詰めになる。
・太罫線や二重罫線が使えない。
・白黒印刷すると非表示部分が見えてしまう。
という欠点もあります。

Excel2000,2003で動作確認。
以上ご参考まで。長乱文陳謝。
    • good
    • 4

不可能です


線の引いてないセルを表示するのですから
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報