• ベストアンサー

データ取り出しについて教えて下さい。

データ取り出しについて教えて下さい。 2つのセルに異なった数字が入っており、どちらか一方だけ塗りつぶしされています。 その塗りつぶしされた方の数字を、別のセルに表示したいのですが・・・  たとえば、A1が塗りつぶしされているとします。       A   B   C  1列目  100  120   100  C1に100と表示されるようにしたい。 なにかいい方法があれば教えて下さい。      

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

関数によって色が付いているかどうかを判断することはできませんので、塗りつぶしの色を条件付き書式によって設定しているであれば、その条件付き書式で使われた式を使ってC列に値を取り出すことをすればよいでしょう。 それができないのでしたらマクロを使うことになりますね。 マクロの作成ではシート見出しのシート名を右クリックして「コードの表示」を選択します。 表示の画面には次のようなコードを入力します。 Sub 塗りつぶし選択() Dim i As Integer For i = 1 To Range("A65536").End(xlUp).Row If Range("A" & i).Interior.Pattern = xlSolid Then Range("C" & i) = Range("A" & i).Value ElseIf Range("B" & i).Interior.Pattern = xlSolid Then Range("C" & i) = Range("B" & i).Value End If Next End Sub マクロを実行するには「開発」タブで「マクロ」を選択し、表示の画面で「塗りつぶし選択」を選んで「実行」すればよいでしょう。

rewqfdsavcxz
質問者

お礼

思っていた通りに出来ました! 感謝です! KURUMITOさん、ありがとうございました。 関数ではやはり限界がありますね。マクロ(VBA)の勉強もしたいと思います。

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

その他の回答 (2)

  • BIGEGG
  • ベストアンサー率0% (0/2)
回答No.2

「塗りつぶしされたセルの判定はどうすれば?」 になります。 判定ができれば、あとはどっちのセルをCに持って行くかだけです。 簡単な操作をして新規マクロを作成します。 「セルを選択して、塗りつぶす→塗りつぶすのをやめる」 これだけやれば(プロパティ?の)何がどう変わったかわかるかもしれません。

rewqfdsavcxz
質問者

お礼

やはりマクロは必要不可欠ですね。 苦手意識が高く避けていましたが、勉強してみたいと思います。 ご回答いただきありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
noname#187541
noname#187541
回答No.1

こんにちは。 塗りつぶすセルに規則性が有れば出来ると思いますが、そうでなければ基本的には無理です。 別のセルに表示すると言うことは「数式(関数)」を使うと言うことになると思いますが、書式を数式に使うことは通常は無理です。 どうしてもというのであれば「マクロ(VBA)」を使うことになるでしょう。

rewqfdsavcxz
質問者

お礼

M-SOFTさん、有難うございました。 やはり関数では無理ですよね。 ちなみにVBAではどのようなプログラムを組めばいいかご存知ですか? もしご存知でしたら教えて下さい。

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

関連するQ&A

  • Excel データの抽出について教えて下さい。

    初めて質問させて頂きます。 Excelでデータの抽出と言ったらいいでしょうか・・・ 「一定の条件に当てはまった場合に、別のセルに数字を入力する」 というような処理をしたいのですが、データ量が多くて、 どのようにやったら効率がいいのか、頭を悩ませています。 例えば・・・       A列  B列 1行目  111   A 2行目  112   B 3行目  115   C 4行目  115   C 5行目  118   D といったようなデータが1500件ほどあります。 このデータを使って、A列の中で番号が2つ(又は3つ等)あるものに、      A列   B列  C列 1行目  111   A 2行目  112   B 3行目  115   C    1 4行目  115   C    1 5行目  118   D といった感じで決まった数字を表示する方法がないでしょうか? こんな説明でご理解頂けるかどうか、心配なんですが・・・。 いい方法をご存知の方がいらっしゃいましたら、力を貸して下さい。

  • どんどん増えるデータの重複しないデータの個数

       A列    B列 1 2    3      6 3  4    a     a-1 5    a      a-2 6    b      b-1 7    b      b-2 8    b      b-3 9    c      c-1 たとえば上記のような表を作りたいと思っています。、 10行目以降もデータは増えていきます。 作業列を作らずにA2セルにA4以降のA列の重複しないデータの個数を 表示させる方法を教えてください。

  • データの統計

    以下のような表のとき、D1に>75と入力しE1に>450と入力したとき、B列の数字が入力されているセルの行が、上記の条件が満たされるB列のセルの数をB1に出したいのですが、何か良い方法がありましたらご教授お願いします。 B1に1と表示されれば正しいです。 A   B   C    D    E             >75   >450 881  884       75    359 686           80    486 1052  1054      75    994 179  179       50    930 データ量は5000行を超え、なお増加中です。

  • Excel の質問です。(リンクデータについて)

    Excel の質問です。(リンクデータについて) 例) A1のセルに「1」と入っているとします。 B1のセルで、A1のセルにリンクを張り、B1のセルに「1」が表示されるとします。(リンク「=A1」) その後、A1のセルのデータを消したり、別の数字を入力しても、B1には数字「1」が表示される方法はないのでしょうか? 同じシート内で作業せず、別のシートを使っても問題ありませんので、 よい方法がございましたら教えてください。

  • 【エクセル】抽出データを上に詰めて表示させたい。

    重複するデータを上に詰めて表示さセル方法が解らないです。 B列はA列の元データから重複分は表示しないようにしています。 C列はA列の元データから重複分の数を数えています。 │A │B    │C│ D │ 1│あああ │あああ │3│ 2│いいい │いいい │2│ 3│あああ │     │ │ 4│ええ  │ ええ  │2│ 5│おおお │おおお │1│ 6│ええ  │   │ │ 7│いいい │  │ │ 8│あああ │  │ │ 9│うううう│うううう│1│ ・ ・ 上記のような表で、A列が元データで、 B列にはセルB1から、=IF(COUNTIF($A$1:A1,A1)>1,"",A1)という関数を オートフィルで下まで伸ばしています。 C列は、=IF(COUNTIF($A$1:A1,A1)>1,"",COUNTIF($A$1:$A$100,A1))と いう関数を使用しています。 そこで、B列C列の何も表示されていないセルを詰めて、上に詰めて 表示させたいです。マクロは良くわからないのでなるべく関数で お願いします。ちなみに、今使用している関数も、こうしたほうが いいというのがありましたら。訂正してもらえると助かります。 解りづらいところがありましたら、補足します。 宜しくお願いします。

  • あいまい検索でヒットするデータを表示する方法

    office2016 ある機種のデータをsheet1のA列2行目以降に取り込みます code  ←題目 1233 127011 ←(A) C00001 C00233 … C90001 ←(B) その後昇順にならんだデータにします。約50行くらいあります。 (A)のデータは 1270で始まるデータで 127011,127021の様に6ケほど存在します。 (A)のデータは機種に必須のデータなので6ケの中でどれか1つが必ず存在します。 文字列と数字が混載表示のデータで1270が含まれるデータはありません。 C91270の様なデータは無いということです。 (B)のデータは C9000で始まるデータで C90001,C9002の様に5ケほど存在します。 (B)のデータは機種に必須ではないので、存在しない場合があります。 A列のデータの中から (A)で存在するデータはsheet2のG3セルへ (B)で存在するデータはsheet2のM3セルへ それぞれ表示したいのですが、何か簡単に一発で表示される良い方法があれば教えていただきたく。 現状の構成は次の通りです。 マクロで下記を対応してます。 Aデータの有無を確認する作業シート(シート名はA)を設けて A列にコピーし B2セルに判定として =IF(ISERROR(SEARCH("1270",A2,1)),"対象外",SEARCH("1270",A2,1)) これをA列の行分コピー B列で対象外の行を削除 1行目が題目で2行目に対象のデータが残るのでそれを表示 code 127011   1 の状況になるので SHEET2のG3セルは =IF(A!B2=1,A!A2,"") とすると 127011がG3セルに表示される Bデータの有無を確認する作業シート(シート名はB)を設けて A列にコピーし B2セルに判定として =IF(ISERROR(SEARCH("C9000",A2,1)),"対象外",SEARCH("C9000",A2,1)) これをA列の行分コピー B列で対象外の行を削除 1行目が題目で2行目に対象のデータがあれば残るのでそれを表示 code C90001   1 の状況になるので SHEET2のM3セルは =IF(B!B2=1,B!A2,"") とすると C90001がM3セルに表示される C9****のデータが存在しない場合、M3セルは空欄表示でOK これで一応やりたい内容は達成できていますが、関数で一発表示ができたらとの思いです。マクロでも構いません。 よろしくお願いします。

  • エクセルで有効データのみ列挙する方法について

    A列とB列は数字が列挙、C列に『=if(A1>0,A1*B1,""』が入力されています。 C列に表示されている数字のみD列に列挙される関数のような物ってありますか? フィルタ機能使ったりしないでA列とB列にデータを入力したら瞬時にD列にデータが集まる方法があれば教えて下さい。 よろしくお願いします。

  • 1)A列 A4からA55まで、数字のデータが入ってるセルと、入ってない

    1)A列 A4からA55まで、数字のデータが入ってるセルと、入ってないセルがあります。 2)B列もA列同様、B4からB55まで、数字のデータが入ってるセルと、入ってないセルがあります。(データの入ってる行は、A列で入っていれば、B列の同じ行に入っています) 3)A列とB列のデータの入っている行を順番に4から55行まで、掛け算をして(例えば、A5*B5)、その4から55行まで合計を、H2に入っている、ほかの合計の数値で、割り算をする計算式をK2のセルに、一つにまとめて入れ、計算結果を表示したいのです。 検索で参考例を探したのですが、見当たらなかったので宜しくお願いいたします。

  • 複数列のデータ(数値&文字)を結合させて1列にまとめる方法

    (1) 一行にA列、B列、C列があり、各行のいずれか1つの列に、必ずデータが入っています。(データの入っていないセルは「0」が表示) (2) データの入っているセルからデータを取り出し、D列の同じ行のセルに移します。 (3) 結果、D列には、A列~C列のデータが1列に表示される (例) No A列 B列 C列  D列 1  1A         1A 2        2B   2B  3     3C      3C 指定した複数列のデータを1列にまとめて表示する関数またはSQLを教えて下さい。 お忙しい所 大変恐縮ではございますが、何卒宜しくお願い致します。

  • エクセルでのデータの表示

    エクセルでのデータの表示 次のような表が在ります。 A列   B列   100    2   100    2      101    6   101    2   101    6   102    6   102    6   103    2   103    2   103    2    104    6   104    2  ・     ・  ・     ・  ・     ・   これを、次のように、C列に「◎」と「×」を表示させるようにするには、どのようにすれば可いですか? つまり、「A列のナンバーが重複していて、且つ、B列の数字が異なる二種類の場合は、C列に◎」、「A列のナンバーが重複していて、B列の数字は一種類の場合は、Cれつに×」と表示させたいのです。 A列  B列  C列 100    2  × 100    2  ×   101    6  ◎ 101    2  ◎ 101     6  ◎ 102    6  × 102    6  × 103    2  × 103    2  × 103    2  × 104    6  ◎ 104    2  ◎ ・      ・  ・ ・       ・  ・ 宜しくお願い致します。

就活生の最終面接結果について
このQ&Aのポイント
  • 就活生の最終面接結果が未だに連絡されず不安な状況です。
  • 面接時に機材のトラブルがあり非常識な学生だと認識されている可能性があります。
  • 結果が知りたくて問い合わせをするか迷っています。
回答を見る

専門家に質問してみよう