マンガでよめる痔のこと・薬のこと

出勤表をエクセルで作成しています。

A   B     C     D 
1日  出     出     出
2日  半日欠勤  出     出
3日  出
4日  半日欠勤  出    休暇
5日  半日欠勤  半日欠勤  出
6日  休暇    出     半日休暇




上記の表から、 B列は、出=2,半日欠勤=1.5,休暇=1
という関数を組みたいのです。

カウント関数で、"半日欠勤"=0.5として数える
事はできるのでしょうか?
(半日*はすべて0.5とカウントします)

カウント関数でなくても0.5を返すする方法が
ありましたら教えてください。

よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

=COUNTIF(B1:B6,"半日*")/2



でB列で”半日”から始まる文字列の数=3
を2で割って1.5が返ってきます。

老婆心ながら、
出=1
半日*=0.5
休暇=0
のほうが汎用性が増すのではないでしょうか。
    • good
    • 3
この回答へのお礼

ありがとうございました!
できました。。頭が固くて
2で割る発想がありませんでした・・。

お礼日時:2005/09/14 13:25

質問者の要求は、出、半日欠勤・・の数(頻度、出現回数合計!)を数えないと、どうにもならないのでしょう。


だからCOUNTIFは使わざるを得ないでしょう。
それと0.5として数えるというのでは、次元の違う話ではないですか。
もちろん出を2、・・に別範囲とか、別シートに置き換えることはできます。
種類の数が多ければ、VLOOKUPとかう買えばよい。
しかしその後出現回数集計をしないと目的に沿わないのでしょう。
>、"半日欠勤"=0.5として数える
事はできるのでしょうか
カウント数にウエイトを0.5として掛ければすむことでは。
    • good
    • 0

countif関数を使えばいいと思います。


出に一致するものはそのまま加算
半日欠勤に一致するものは2で除算してから加算
すればいいでしょう。

参考URL:http://www.kikumaeni-google.com/?go=coountif
    • good
    • 1
この回答へのお礼

ありがとうございました。
できました!

お礼日時:2005/09/14 13:27

普通にカウントしてから、


結果を2で割ればいい話ではないの?
    • good
    • 1

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qえエクセルで○は1とし△は0.5で合計を出す方法は

エクセルで勤務状況を調べております。
記入方法は○か△で一月の合計を集計したい のですが前任者は記入後計算機で計算してましたが今 回はエクセルで計算出来ればと思います。2007のエクセル使様です。
良きアドバイスをよろしくお願いします。

Aベストアンサー

A1~A31に、○か△が入っている(空白等でも可)とすると、

=COUNTIF(A1:A31,"○")+COUNTIF(A1:A31,"△")*0.5

で求められると思います。

Qエクセルでの指定文字 カウントについて

エクセルで並んだデータでの指定した名前だけの個数をカウントするにはどうすればいいのでしょうか?

山田 高橋 佐藤
高橋 梅田 赤田
 西 山田 梅田
佐藤 山田 梅田

名前が並んだデータで「高橋」という名前が何個あるのかをカウントしたいのですがどうすればいいのでしょうか?

Aベストアンサー

 データは入力されているセルの範囲を「A1:C4」とすれば、

=COUNTIF(A1:C4,"高橋")

Qエクセルの小数を0.5単位でまるめたい

エクセルで小数を使う計算をしております。
小数点以下の値を判断して計算結果を0.5単位に整えたいのですが、
n.0とn.5とn+1.0のうちの近い方に丸めることはできますでしょうか。

以下は例です。
10.09 → 10.0
10.19 → 10.0
10.23 → 10.0
10.29 → 10.5
10.69 → 10.5
10.74 → 10.5
10.79 → 11.0

どのような関数を使用すればいいのか回答をお願いします。

Aベストアンサー

前の質問に回答がありましたが。
2倍して四捨五入して2で割ります。
=ROUND(A1*2,0)/2
小数点1桁まで表示にする。
A1セルに色々と数値を入れて確認してみてください。

Qエクセルで〇の数を数えたい

エクセルで〇の数を数えたい。関数式はどうなりますか。
c5~c45の○を挿入したセルの数をc50にだしたいのですが。
ひさしぶりにエクセルやったので、忘れてしまいました。

Aベストアンサー

#1です。
おかしいですねえ。

まさかとは思いますが、
・「○」のつもりが、英語の O になってるとか、数字の0とか、漢数字の〇になってるとか
・○の前後にスペースが入っていないか

このあたりを見てみましょう。

Qエクセル・・色の着いたセルの個数を数える関数はある?

エクセルの表内で塗りつぶしされているセルだけを数える様な関数はありますか?
セルには文字や数値は入力されておらず、塗りつぶしているだけです。
よろしくお願いいたします。

Aベストアンサー

こんにちは。

ユーザー定義関数で作ってみました。Ver4 マクロ関数で十分だと私は思いますが、Ver 4 マクロ関数ではケシカランというような方?は、以下のようなVBAでの解決方法が便利かなって思います。

VB Editor の標準モジュールに貼り付けてください。(挿入-標準モジュール)

なお、一般のブックの標準モジュールのユーザー定義関数に、Public キーワードをつけたところで、グローバル関数になるわけではありませんので、もしその点に不安のある方は、マニュアル等で、確認されたほうがよいかもしれませんね。

なお、以下は、引数のインデックスに0を入れると、配列出力するようにしてあります。

'------------------------------------
Function ColorCellCount(範囲 As Range, Optional インデックス As Integer = 1, Optional パターン As Integer = 0)
  Dim myRng As Range
  Dim myIndex As Integer
  Dim myPattern As Integer
  Dim myColor() As Integer
  Dim Ret() As Double
  Dim c As Range
  Dim i As Long
  Dim j As Long
  Set myRng = 範囲
  myIndex = インデックス
  myPattern = パターン
For Each c In myRng
   On Error Resume Next
   If myPattern = 0 Then
     i = WorksheetFunction.Match(c.Interior.ColorIndex, myColor, 0)
   Else
     i = WorksheetFunction.Match(c.Font.ColorIndex, myColor, 0)
   End If
   If i = 0 Then
     ReDim Preserve myColor(j)
     ReDim Preserve Ret(j)
      If myPattern = 0 Then
       myColor(j) = c.Interior.ColorIndex
      Else
       myColor(j) = c.Font.ColorIndex
      End If
      Ret(j) = 1
     j = j + 1
     On Error GoTo 0
     Else
      Ret(i - 1) = Ret(i - 1) + 1
   End If
  Next
  If myIndex <= 0 Then
   ColorCellCount = Ret()
  ElseIf myIndex > UBound(Ret) + 1 Then
   ColorCellCount = Ret(UBound(Ret()))
   Else
   ColorCellCount = Ret(myIndex - 1)
  End If
  Set myRng = Nothing
End Function

ワークシート上での使い方は、

A列
色付き
色なし
色なし
色付き
色付き

=ColorCellCount(A1:A5, 1 )

とすれば、上から数えて、1番目の色のセルの数が出ます。

=ColorCellCount(A1:A5, 2 )
を入れれば、色なしのセルの数が出ます。

=SUMPRODUCT(ColorCellCount(A1:A5, 0 ))

とすれば、全部の合計が出ます。

なお、
=ColorCellCount(A1:A5,1,1)

とすれば、文字の色を数えます。

こんにちは。

ユーザー定義関数で作ってみました。Ver4 マクロ関数で十分だと私は思いますが、Ver 4 マクロ関数ではケシカランというような方?は、以下のようなVBAでの解決方法が便利かなって思います。

VB Editor の標準モジュールに貼り付けてください。(挿入-標準モジュール)

なお、一般のブックの標準モジュールのユーザー定義関数に、Public キーワードをつけたところで、グローバル関数になるわけではありませんので、もしその点に不安のある方は、マニュアル等で、確認されたほうがよいかもし...続きを読む

Qエクセルで打ち込んだ数字を自動で別シートに表示したい

エクセルでセルに打ち込んだ数字を自動で別シートに表示できる方法があれば、教えてください。

例えば、シート1のC1に5を打ち込んだら、シート2のD2にシート1で打ち込んだ5が自動で表示される。

また1列すべてを自動で表示させる場合、一つのセルの時と違いがありましたら教えてください。よろしくお願いします。

Aベストアンサー

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コピー&リンク貼り付けを使うと便利です。

例)例)シート1のC1~C5に何かを入力したら、
  シート2のD2~D7にシート1で打ち込んだものが自動で表示される

  シート1にあるコピー元のセルを範囲選択して、
  シート2のD2の上で「右クリック」⇒「形式を選択して貼り付け」
  をクリックします。

  そして出てきた小さな画面の左下にある「リンク貼り付け」という
  ボタンをクリックすると完成です。
  試してみてください。。

  念のためにリンク貼り付けを図解しているURLを載せておきます。
  参考にしてみてくださいね。。
  http://www.geocities.jp/office_inoue/excel/eq21.htm

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コ...続きを読む

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

Q数字を入力するとセルに色が付くようにするには

ウインドウズ7で、数字を入力するとセルに色が付くようにするにはどうすればよろしいでしょうか?

Aベストアンサー

Officeのバージョンが分かりませんので、excel2007・2010のバージョンでの操作方法を・・・。
(1) 条件付き書式をせってしたいセル範囲を選択(例えばA1~A10までを選択)
(2) 「ホーム」タブ→「スタイル」グループ内の「条件付き書式」をクリック
(3) 「新しい書式ルール」を選択
(4) ルールの種類から「指定の値を含むセルだけを書式設定」を選択
(5) 下方向の「セルの値▼」をクリックし、「空白なし」を選択」→「書式」から「塗りつぶし」を選択
(6) 塗りつぶしに色を選択→「OK」→「OK」→「OK]で「文字」「数値」を入力するとセルに設定色が付きます。

別の方法として・・・
(3) までの手順を済ませ、ルールの種類から「数式を使用して書式設定するセルを決定」を選択
(4) 枠の中に =A1<>"" と入力→「書式」よりセルの色を設定→「OK」→「OK」→「OK」でも設定できます。

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい

QエクセルのCOUNTIFについて

A,B,Cのセル内の数値の個数ををCOUNTIFで求めました。
普通にできたのですが、A,B,Cのセルに関数を入れて、
計算結果をCOUNTIFで求めようとしましたがNGでした。

関数の結果をカウントする方法がありましたらお願いします。

Aベストアンサー

計算結果に誤差を含んでいるからだと思います。

(B1-A1)*24を以下の式に置き換えてみてください。

=ROUND((B1-A1)*24,1)


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング