• ベストアンサー

色のついた行を選択する関数(Excel)

教えてください(Excel)。 Sheet1にはデータがいっぱいある。そのなかから、僕は特定の情報がふくまれている行に赤色を塗った。たくさんの行に赤色を塗った。 ここにおいて、Sheet1で赤色が塗られた行だけを、Sheet2に表示させたい。 上述の作業をしたいときに便利な関数があれば教えてください。

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

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

これも見当違いの質問です。関数ではセルの色の違いを、「値」として、取得できません。(VBAを使い、ユーザー関数を作ればできる場合があります)関数はセルの「値」しか取得できず、セルの「書式」の取得は対象外です。 2007であれば、関数でなくても何か方法が、新設されているかもしれないが、関数のこの原則は、MSは崩してないと思います。 (1)もとの「特定の情報がふくまれている行に赤色を塗った」特定の情報が簡単な数値などであれば、それを対象にすることで実現できるかもしれない。 (2)それにエクセルは、特定の条件の行を抜き出す(=それだけ コピーする)のは、苦手な処理です。 条件に合うものの計数を加算するほうが、まだ楽です。 私も1imogasi方式と称して、作業列を使う回答を沢山している。 (3)そのほかに、関数で回答が出るが、初心者には理解が難しいものです。 (4)他にVBAでやれば、素直なロジックで、実現すると思う。 ーー >・・便利な関数があれば教えてください 関数は、他のセルの「値」を用いて、主に計算やその他で値を出すものです。「値」以外にも、セルは属性を持っていることが、VBAプログラムを組まないと、意識しにくい。 関数は、何でもで来るものではなく、非常に限定的な役割しか受け持て無いことを、良く勉強してください。 エクセルしか経験がない人が、課題を何でもエクセルで解決できないかとする、傾向も見られます。

hisabota
質問者

お礼

ありがとうございます。 甘くみてました。 関数の基本的な仕組みが何となく分かりました。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • WWolf
  • ベストアンサー率26% (51/192)
回答No.2

こんばんは 多分関数では不可能ではないでしょうか? 下記のサンプルは宣言など抜いております。 sheet1のコードに記述し実行してください。 Sub Sample() j = 1 With Worksheets(1) LR = .Range("A65536").End(xlUp).Row For i = 1 To LR If .Cells(i, 1).Interior.ColorIndex = 3 Then Worksheets(2).Rows(j) = .Rows(i).Value j = j + 1 End If Next End Sub 試してみてください。

hisabota
質問者

お礼

ありがとうございました。 上記プログラムは私の能力をはるかに超えておりますが、 何かの機会に試してみたく存じ上げます。

すると、全ての回答が全文表示されます。

関連するQ&A