• ベストアンサー

エクセル2010でこのような表示は出来ますか??

作成したいのは評価表です。1シート1人分。列は考課項目/行は考課点です。 A1に考課項目1・A2に考課項目2・・・以下50項目続きます。 B1~F1に考課点として5~1を入力してあります。 考課が5~1から一つだけ選択し、背景色を塗りつぶします。 その結果をG1に表示させたいのです。 但し5~1ではなく、5の場合は4で4の場合は3で・・・1の場合は0です。 EX)考課項目1→5/考課項目2→5の場合、B1の考課点4のセルを塗りつぶします。 でG1に考課点を8で表示させたいのです。 宜しくお願い致します。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

手順: ALT+F11を押す 現れた画面で挿入メニューから標準モジュールを挿入する 現れたシートに下記をコピー貼り付ける function sum1(byval Target as excel.range)  dim h as range  application.volatile  for each h in target  if h.interior.colorindex <> xlnone then  sum2 = sum2 + application.max(0, 6 - h.column)  end if  next end function ファイルメニューから終了してエクセルに戻る で。 ご相談の間違い: >考課項目1→5/考課項目2→5の場合、B1の考課点4のセルを塗りつぶします。 正しくは: 考課項目1→5/考課項目2→5の場合、B1とB2の考課点4のセルを塗りつぶします。 >でG1に考課点を8で表示させたいのです。 G1に =sum1(B1:F2) のように計算する 実際問題としては,効果項目1の得点をまず1行目に出し,続いて項目2の得点も2行目に出してから最後に別の場所で全体の特定合計を集計した方がベターです。 でも回答したやり方は,一発でも集計できるように最初から作ってあります。 また最初に回答したとおり,色を塗ったあとは必ずF9を押して再計算を行わせなければいけませんのでうっかり忘れたりとかしないこと。

その他の回答 (3)

回答No.4

ANo3の者ですが、一部訂正します。 G1の入力ですが =SUM(H1:H9)-50 と訂正します。

回答No.3

マクロ(VBA)を使用する例がでているようなので、マクロ(VBA)を利用しないで行う方法を例示します。 ただし、この方法ではマクロ(VBA)を使う場合と違いひとつ余分にセルを利用することとなりますがご了承ください。 なお、私の環境がエクセル2003しかないため、表示内容など一部違いがあるかもしれませんが柔軟に対応頂ければありがたく存じます。 H列を考課点数を選ぶための専用列とします。 H列(もしくはH1~H50)を選択して、入力規則を設定します。  入力値の種類:リスト  データ:次の値の間  元の値:1,2,3,4,5 とします。 B列からF列を選択して(もしくはB1~F50)を選択して条件付書式を設定  条件1を 「数式が」 「=$H1=B1」 として、書式ボタンを押す  書式でパターンを選択して塗りつぶしたい色にする。 G1に =H1-1と入力してG50までオートフィル これでマクロ(VBA)無しでご希望に近いことが出来ると思います。  

  • kokorone
  • ベストアンサー率38% (417/1093)
回答No.2

マクロに Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim r_index As Integer Dim c_index As Integer Dim res As Integer Dim total As Integer total = 0 For r_index = 1 To Range("A1").End(xlDown).Row res = 0 For c_index = 1 To 5 If Cells(r_index, c_index).Interior.ColorIndex = 3 Then res = Cells(r_index, c_index).Value End If Next c_index total = total + res Next r_index Range("G1").Value = total End Sub と記述してください。

関連するQ&A

  • Excelでこのようなときはどんな関数にすればよいでしょうか

    同じブック内で以下のような2シートがあるときに、 (シートA)    A   B    C    1  あい  123  りんご 2  うえ  456  みかん   3  おか  789  イチゴ (シートB)    A   B    C    1  あい  123  めろん 2  えお  456  みかん   3  おか  789  イチゴ 横に並んだ3項目が同じものにだけ、(シートB)のセルに色を付けたいのです。 (上記の例だと、3行目が3項目とも一致しているということです) 色は横3つのセルにつけられなければ、A列のセルだけでも構いません。 (上記の場合、色をつけたいのはシートB「おか」のセル) 列を増やすなど、処理用のデータが必要でも非表示にすればいいので その点は構いません。 関数や条件付書式などで、なんとかなりますでしょうか?

  • エクセルの算式について

    sheet1に、B3~AF36に①屑量というデータ、B40~AF72に②屑率というデータがあります。①と②は、その名の通り、行項目と列項目は同じで、値が異なっています。 これらを、Sheet2に、行項目+列項目に合致する値を①についてはF8から列方向に、②についてはG8から列方向に、反映させたいです。 その場合、D8~G8の各セルにどのような算式を組み込めば良いでしょうか。ご教示お願い致します。 尚、sheet2に示したそれぞれの4項目にはフィルタが出来るような形にしたいです。

  • エクセル関数の自動表示について

    自動表示についてご質問いたします。 シート1 (3月入力時)       A列  B列  C列  D列  E列  F列  G列  H列 1行目  1月   2  10  11  12  30  31  33 2行目  2月   1   2   5   8   9  10  48 3行目  3月   3   5  10  11  30  31  32 4行目  4月   こういうシート1の表があったとします。 シート1で3月入力した時点で、シート2では以下の表があったとします。        A列  B列  C列  D列  E列  F列  G列   1行目    3   5  10  11  30  31  32 と、自動で表示され。 4月(シート1)に数値を入力すれば、シート2の数値が最新数値に自動で入れ替わる・・・と、いう関数を作りたいのですが、いい関数ありますでしょうか? この場合、シート1ではB列~H列の数字の個数は固定(今回は7個)であり、毎回ランダムで数字が入力されていきます。 これをシート2の1行目、A列~G列に最新数値を毎回反映させて、表示したいのです。 どなたか、ご存知の方よろしくお願いします^^;

  • Excelの関数に関して教えて下さい

    パソコンはWindos98です。 ExcelのAシートに     A列    B列    C列    D列    (品名) (ロット) (容量)  (数量) 1行 みかん   123   100g  3 2行 りんご   456   100g  4 3行 ピーチ   789   120g  2 とある場合に新たなBシートの A1のセルに「りんご」と入力した場合に A1 品名 A2 ロット A3 容量 A4 数量 Aシートの2行目のデータをBシートのそれぞれの欄に 自動的に入るという関数はありますでしょうか? ちなみにAシートのりんごのデータは2行目にくるか 3行目にくるかは分からないのでどこの行に入力しても Bシートに反映されるというようにしたいのです。 補足もしますのでどうか宜しくお願いします。

  • Excelで空白セルをつめて表示させたい

    お世話になります。 Excelの操作について教えてください。     A列  B列 1行  3 2行       2 3行  5 4行  4    1      ↓     A列  B列 1行  3    2 2行  5    1 3行  4 4行 と、空白でないのセルだけを、上に詰めて別のシートに表示させたいです。 出来れば関数を使って行いたいです。 いくつか同じような質問があったのですが、なかなかうまくいきません。 どなたか、ご教授下さい。

  • Excel VBAについて

    VBA初心者です。 社内の様式に合うようなVBAを組みたいのですが。。。 1,様式は表になっており1つのグループに5つの選択肢があり横に5グループ,縦に12グループあります。(例えば1行目にA1.A2.A3.A4.A5|B1.B2.B3.・・・・E3.E4.E5 2行目にF1.F2.F3.F4.F5|G1.G2・・・・12行目にBM1.BM2のような表) 2,シートは2枚あり1枚目のシートで選んだ1グループ1項目に1つだけ○がつく(ダブルクリックで選択し,違う項目を選択すれば前に選んだ項目の○は消える。) 3,1枚目に丸がついた項目が2枚目の任意のセルに表示される(例えば1枚目のシートのAグループのA3を選択すれば2枚目のシートの任意のセルにA3と表示され,取り消し変更された場合は変更後の選択肢のみ表示される) 4,また,選択する項目は変更されないように保護をかけたい。

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

    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 これで一応やりたい内容は達成できていますが、関数で一発表示ができたらとの思いです。マクロでも構いません。 よろしくお願いします。

  • エクセルにバーコード出力

    以下の様なリストを作成し、別シートのA1セルに、バーコードで"11"と読み込むと 同じA1セルに"E"を表示することは可能でしょうか? (同様に"22"と読み込むと"F"を表示、"33"を読み込むと"G"を表示) 別セルに表示することは出来ますが、同じセルに表示をすることに困っています。 名前の管理・関数などを応用したやり方があると助かります。 (マクロやアクセスは使ったことがありませんので) 【リスト】    A列 B列 1行 11  E 2行 22  F 3行 33  G ※Excel2010を使用 よろしくお願いします。

  • ■ エクセルのマクロで出来ますか?

    エクセルマクロの初心者です。 現在、業務で以下の様な表を作成し、請求書の発行を行っています。 「sheet1」A列のNo.を「sheet2」のA列(例えばセルA1)に入力すると VLOOKUP関数で必要項目が請求書の雛形に表示される仕組です。 複数行を抽出する場合は、複数のNo.(例: 1,3,10)を手入力(例: A1,A2,A3・・・)しております。 ----- <sheet1>    A列  B列   C列   D列  ・・・ 1行 No.  項目1  項目2  項目3 ・・・ 2行  1   値1   値2   値3  ・・・ 3行  2   値4   値5   値6  ・・・ 4行  3   値7   値8   値9  ・・・ <sheet2> 請求書の雛形 セルA1~A10に請求書を発行したい<sheet1>A列のNo.を入力。 ----- これを、A列の左に行を挿入、各行にチェックボックスを配置し、 チェックボックスをオンにした行のB列(行挿入前はA列)の値(No.)を 「sheet2」のA列(例えばA1/複数の場合はA1,A2,A3・・・10行程度)に コピーを行う仕組を作ることを検討しています。 複数のNo.をチェック(1,3,10)した場合は、 「sheet2」のA1,A2,A3の様に、上から順になれば理想的です。 説明が悪く、意図が伝わり難いこととは思いますが、 これらの作業を行うマクロ(他の方法も可)を組むことは可能でしょうか。 ご教授いただければ幸いです。 よろしくお願いいたします。

  • 別シートのセル値を表示する方法

    どんな計算式(関数が)良いかわからずご教授ください 例)AシートのA1セルに計算式を設定してBシートのあるセル値を表示したい Bシートのあるセル値とは。。。 2行目(固定)にある一番右端にある値(ここでいえば◆。5、6列には入っていないので4列目となる) ◆がなければ3列目の×を表示したい。(可変) セル 1行目 1 2 3 4 5 6 2行目 ○△×◆ よろしくお願いします。

専門家に質問してみよう