• ベストアンサー

エクセルの関数について

質問です。 質問1 データシートに「日勤」「半勤」「夜勤」とあった場合、それぞれを「日勤」=1、「半勤」=0.5、「夜勤」=1.5として合計表示させる方法 質問2 データシートに物件のデータを入れ、別シートで物件番号を入力するとその他のセルがその物件のデータを表示させる方法

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

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.3

特定のデータ範囲(縦方向)に入力されている文字列を点数化して集計したい場合に、一つの式でその合計を集計するなら以下のような関数で合計点を表示できます。 =SUMPRODUCT((データ範囲={"日勤","夜勤","半勤"})*{1,1.5,0.5}) データ範囲が横方向に並んでいる場合は以下のようにカンマをセミコロンに変更してください。、 =SUMPRODUCT((データ範囲={"日勤";"夜勤";"半勤"})*{1;1.5;0.5})

freshtea
質問者

お礼

ありがとうございます。 スッとしました。

その他の回答 (3)

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

1.例えばA列に日勤、半勤、夜勤などの文字が入力されているとしたら 合計する式は次のようになります。 =COUNTIF(A:A,"日勤")*1+COUNTIF(A:A,"半勤")*0.5+COUNTIF(A:A,"夜勤")*1.5 2. 例えばシート1のA列に物件番号があり、横方向の列に様々なデータがあるとして、別シートで物件番号に対応したデータを表示させるとしたら、初めにシート1の1行目にある項目名をコピーして別シートの1行目に貼り付けます。 その後にA2セルから下方に物件番号を入力するとして、B2セルには次の式を入力して右横方向にオートフィルドラッグしたのちに下方向にもオートフィルドラッグします。 =IF(OR(B$1="",COUNTIF(Sheet1!$A:$A,$A2)=0),"",VLOOKUP($A2,Sheet1!$A:$F,COLUMN(B2),FALSE))

freshtea
質問者

お礼

ありがとうございます。 質問1については、頭の切り替えだなと思いました。 質問2については、頭が悪いため理解に苦しんでおります。

noname#120062
noname#120062
回答No.2

はじめまして 質問1は、NO.1さんのように複数のIF関数の組み合わせになります。 質問2は、これまたNO.1さんのおっしゃるようにvlookup関数が基本に なります。付け加えるとシート間の参照になるので、3D参照というのも 必要になります。入力ミスがあった場合のアラート表示ができれば、 後々のやり直しも少なくて済みます。 上記やり方はネットにありますので、頑張ってください。

freshtea
質問者

お礼

おりがとうございます。 頑張って調べます。

  • Turbo415
  • ベストアンサー率26% (2631/9774)
回答No.1

ヒントだけ 1.簡単なのはifを使ってたとえばA1にデータを入れるとしてA3に=if(A1="日勤",1,fi(A1="半勤",0.5,if(A1="夜勤",1.5)))とすると、A1にその文字が入ればA3に数字が出ます。B1に対してはB3に同じことをやれば良いです。そして、出た数字を、各日に対してやってその数字を合計すれば簡単です。 変換した数字を見せたくなければ非表示にしてやればいいです。 2.Vlookup関数を使えばできます。細かいやり方は調べてください。 質問がおおざっぱすぎるので。

freshtea
質問者

お礼

早速のご回答ありがとうございます。 質問がおおざっぱですみません。 頭に映像はあるのですが文書にできなくて・・・ 調べてやってみます。

関連するQ&A

専門家に質問してみよう