• ベストアンサー

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

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

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

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

  • Excel関数について,参照データの範囲が変わる時

    Excelの関数について教えてください。 まずExcelで、”Sheet1とSheet2があり、Sheet2には、Sheet1のデータをもとに情報が入力されるように関数{IF(Sheet1!A1="","",Sheet1!A1)}を200行目まで入力されている”ものがあるとします。 それを使って以下のような作業を行います。 1. 職場のシステムからExcelデータを抽出する 2. 抽出したデータをエクセル(sheet1)に貼り付ける。 3. Sheet2にSheet1をもとにした計算結果が表示される 以上が現在、行っている作業です。 ただ問題があり、毎回、sheet1に貼り付けるデータの範囲(行数)が異なるため、sheet2のどこまでに数式を設定しておけばいいのかわかりません。今は適当に200行目まで数式を入力してあります。 『質問』Sheet1に貼り付けるデータの範囲(行数)と同じ範囲(行数)分だけ、Sheet2にも数式が表示されるようにしたい。(例)sheet1に2345行あるデータが貼り付けられた→それをもとに、Sheet2に関数を2345行目まで、自動で入力する。 大変お手数ですが、分かる方教えて頂けますか?よろしくお願いします。

  • Excel にて非表示行を探すワークシート関数

    ある膨大なデータをまとめた数百行からなる Excel ファイルがある のですが、その中で数箇所「非表示にされた行」があります。 その非表示行を探すワークシート関数って有りますでしょうか? (ワークシート関数が無理なら、マクロでも良いです。) ・非表示にされた行は1行だけの時もありますし、  2, 3 行をまとめて非表示にしている場合もあります。 ・Excel バージョンは 2003 です。 ・私の方で見つけた1つの方法として、以下の方法があります。   1. 適当な列に連続データで 1 から始まる番号を振る   2. それを適当なグラフにする   3. グラフの中で急に傾きが変化している所があれば、そこが非表示行である ・ただし、上記の方法ですと数十行なら視覚的に見つけやすいのですが  数百行、数千行の場合はグラフの中の傾きの変化が見つけづらいので NG ・一番理想的なのは画像の中の B4 (黄色いセル) のように、非表示行の1つ上の行に  "1" を表示し、かつ、それをワークシート関数で実現する事です。 ・Ctrl-A で全部のセルを選択し、適当な所で右クリックをして「再表示」とすれば  非表示行が表示される方法は既に知っております。  私が知りたいのは「非表示の状態で、非表示行の場所」を知りたいのです。 以上、よろしくお願いします。

  • Excel関数 選択条件によって表示内容を変えたい

    Excel関数 選択条件によって表示内容を変えたい 添付の画像のように、緑色のセルと黄色のセル、 それぞれの中から選択・入力をすると条件に合った文字が出るようにしたいです。 赤文字の部分に関数を入れて、入力された内容によって表示が変わるようにしたいです。 わかりづらくて申し訳ございませんが、よろしくお願いいたします。

  • Excel2007:25行ごとにデータを抽出する関数は?

    Excel2007:25行ごとにデータを抽出する関数は? 先日、Excelについて質問させて頂き、アドバイスをいただいた者です。 Excel2007で請求書を作成しており、1請求書には25行13列を使っています。 2つ目の請求書は26行目から、3つ目は51行目から…という風に、 表の下に1請求書ごとに改ページを入れながら 次々と請求書をつなげて作っていっています。 このなかから、会社名と金額のみを取り出して、 同シートの請求書枠外に表として作りたいと思っています。 請求書は25行13列(A1:M25) 会社名はD5、D30、D55・・・・ 金額はJ23、J48、J73・・・・ 表を作りたい場所は、同シートのP1に会社名、Q1に金額とし、 1請求書につき1行で、次の請求書のデータをP2・Q2に入れたいです。 VBAではなく、関数を入れることで可能でしたら、関数で考えたいと思っています。 いろいろやってみたのですが、うまくいかず・・・ お詳しい方、どうぞよろしくお願い致します。 いちおう、前回助けていただいた質問のURLを載せます。 http://okwave.jp/qa/q6245060.html

  • Excel2010でのHLOOKUP関数

    Excel2010で列(縦方向)に1組のデータ(200個程度)を入れ、現在140組のデータが入っています。別シートに票を作成し、票内の各セルにHLOOKUP関数を入れ、この140列×200行のデータベースから、指定した列(検索値)のそれぞれの行からデータを抽出し表示するようにしています。 これまでは、検索値を入力すると、該当する列内の値を票内に反映していてくれていたのですが、この度新たな列を増やしたところ、その列の値を表示してくれません。関数内のデータの範囲はその列以上に広く指定しています。わかりにくい説明で申し訳ないのですが、考えられる原因はありますか。よろしくお願いします。

  • Excel関数について

    Excel2003を使用しています。 Sheet1 A1    A2 000001 000002 Sheet2 A1    A2 000001  ABC 000003  DEF Sheet3 A1    A2 000002  GHI 000004  JKL Sheet2・3に入っているA2のデータをSheet1のA2へ表示 させたいのですがVlookupの範囲の選択でSheet2と3が 選択できません。やり方がわかりません。他の関数でないとだめでしょうか? 教えてください!!! ちなみにSheet2・3を一緒のSheetにしたいのですがデータがありすぎて分けるしかないのです・・。

  • 関数について教えて下さい。A列の1行目に1、3行目に5、6行目に8、1

    関数について教えて下さい。A列の1行目に1、3行目に5、6行目に8、10行目に11と規則的でない行に規則的でない番号が入力されているデータがあり、このA列の番号を、シート2のA列の2行目から下に順番に表示したいのですが、そのような関数などあるでしょうか?。どなたかよろしくお願いします。 A列1行目 1   2行目   3行目 5   4行目   6行目 8   ・   ・   ・ 別シートA列 2行目 1          3行目 5        4行目 8         ・         ・         ・

  • Excel関数教えてください!

    関数勉強しはじめたばかりの初心者です。教えていただきたい事があります。 sheet1に基礎データを入力しておきます。例えば・・・ 番号  部活名 1    野球部 2    サッカー部 3    ソフトボール部 4    水球部 5    バスケット部 sheet2に名簿を作ります。  氏名   番号 部活名 ○○○○  1 △△△△  5 ××××   2 □□□□  3 ※※※※  4 以上のように準備して、sheet2の番号を打ち込めば、部活名が自動的に入力されるようにしたいのです。 こういう作業はExcel関数でできるのでしょうか? よろしくお願いします。

  • Excel:Macで特定の文字列を入力するとその行が指定の書式設定になるようにする方法

    エクセルで下記の事をしたいのですが、設定方法(?)がわかりません。 1)特定の文字列を入れると、その行が指定の書式設定になるようにする。  例えば「バナナ」と入力したらその行は塗り潰しカラー黄色でフォント緑色、「りんご」と入力したらその行は塗りつぶしカラー緑色でフォント赤、という感じ 2)特定の文字列を入れると特定のセルに特定のデータが自動入力される  例えばF行に「バナナ」と入力されればQ行に「価格」R行に「産地」S行に「生産者」のデータが自動的に入る 関数とか使うのでしょうか?一種類だけなら何となくわかりそうなんですが…マクロとかよくわかっていません。具体的に教えて頂けると助かります。宜しくお願い致します。 環境は、MacOS10.4.10,Excel:mac2004(Ver11.3.7)を使用しています。

    • 締切済み
    • Mac
  • EXCEL2000で関数INDEXとMATCHを使った際の表示について

    EXCEL2000で関数INDEXとMATCHを使った際の表示について お聞きしたいのですが、別シートでリストが有りそのリスト内のリストNoを別シートで入力すると項目が自動表示される様に関数を入力したのですが、リストでは1行に2段表示にして作成しているのですが別シートに自動表示した際1行で表示されます。リストと同じ表示するにはどうすればよいのでしょうか、わかる方宜しくお願いします。 ちなみにわかりずらいかもしれませんが現在下記の様に表示されます。 現在の関数式 =INDEX(**リスト!$B$4:$B$50,MATCH(**データ!D2,**リスト!$A$4:$A$50,0)) 表示例 (リスト側)        (データ側)     A(列)           A(列)  1(行) あああ    1(行) あああいいいいい   いいいいいい 

専門家に質問してみよう