出産前後の痔にはご注意!

「データ表」シートには会社名やのその日当、時給、日曜日当、日曜時給など書いています。

今別のシートのH3のセルには、C3の文字列が請負なら「請負」と記載、それ以外でE3の文字列がA社ならデータシートの日当「15.000」C社なら「17.000」・・・というように下記の計算式を入れています。ここまでは正確に反映されているのですが、さらに2つ追加でC3の文字列が残業かつG3が5時間までなら時給金額の0.25倍の金額を記載、5時間以上なら先ほど0.25倍の金額と残りの残業時間に0.5倍の金額を足して記載するという要望とB3の曜日が(日)の場合データシートの日曜日当の「20.250」を記載し、さらにB3の曜日が(日)でC3の文字列が残業かつG3が5時間までならデータシートの日曜時給金額の0.25倍の金額を記載、5時間以上なら0.25倍した金額と残りの残業時間の0.5倍の金額を足して記載するという要望がでたのですが、どう変更したり追加してもエラーになってしまい私では分かりません。。言葉下手なので写真を貼り付けましたのでどなたか計算式が分かる方は教えてください!

↓今入れている計算式

=IF(C3=データ表!$A$69,"請負",IF(E3=データ表!$A$151,データ表!$B$151,IF(E3=データ表!$A$152,データ表!$B$152,IF(E3=データ表!$A$153,データ表!$B$153,IF(E3=データ表!$A$154,データ表!$B$154,IF(E3=データ表!$A$155,データ表!$B$155,IF(E3=データ表!$A$156,データ表!$B$156,IF(E3=データ表!$A$157,データ表!$B$157,IF(E3=データ表!$A$158,データ表!$B$158,IF(E3=データ表!$A$159,データ表!$B$159,IF(E3=データ表!$A$160,データ表!$B$160,IF(E3=データ表!$A$161,データ表!$B$161,IF(E3=データ表!$A$162,データ表!$B$162,IF(E3=データ表!$A$163,データ表!$B$163,IF(E3=データ表!$A$164,データ表!$B$164,IF(E3=データ表!$A$165,データ表!$B$165,""))))))))))))))))

質問者からの補足コメント

  • 計算式を書くシートです

    「エクセルの計算式について教えてください!」の補足画像1
      補足日時:2019/01/28 16:34
  • 「データ表」シートです

    「エクセルの計算式について教えてください!」の補足画像2
      補足日時:2019/01/28 16:36

A 回答 (1件)

3時間前にも似たような質問をされてますが、何でぇ~!

    • good
    • 1

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

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

Qエクセルの計算式についてお願いいたします!

「データ表」シートには会社名やのその日当、時給など書いています。

今別のシートのG3のセルには、B3の文字列が請負なら「請負」と記載、それ以外でD3の文字列がA社なら「10000」C社なら「20.000」・・・というように下記の計算式を入れています。ここまでは正確に反映されているのですが、さらに追加でB3の文字列が残業かつF3が5時間までなら時給金額に1.5倍をかけた金額を記載、5時間以上なら1.5倍した金額と残りの残業時間に1.8倍をした金額を足して記載するという要望がでたのですが、どう変更したり追加してもエラーになってしまい私では分かりません。。言葉下手なので写真を貼り付けましたのでどなたか計算式が分かる方は教えてください!

↓今入れている計算式

=IF(B3=データ表!$A$69,"請負",IF(D3=データ表!$A$151,データ表!$B$151,IF(D3=データ表!$A$152,データ表!$B$152,IF(D3=データ表!$A$153,データ表!$B$153,IF(D3=データ表!$A$154,データ表!$B$154,IF(D3=データ表!$A$155,データ表!$B$155,IF(D3=データ表!$A$156,データ表!$B$156,IF(D3=データ表!$A$157,データ表!$B$157,IF(D3=データ表!$A$158,データ表!$B$158,IF(D3=データ表!$A$159,データ表!$B$159,IF(D3=データ表!$A$160,データ表!$B$160,IF(D3=データ表!$A$161,データ表!$B$161,IF(D3=データ表!$A$162,データ表!$B$162,IF(D3=データ表!$A$163,データ表!$B$163,IF(D3=データ表!$A$164,データ表!$B$164,IF(D3=データ表!$A$165,データ表!$B$165,""))))))))))))))))

「データ表」シートには会社名やのその日当、時給など書いています。

今別のシートのG3のセルには、B3の文字列が請負なら「請負」と記載、それ以外でD3の文字列がA社なら「10000」C社なら「20.000」・・・というように下記の計算式を入れています。ここまでは正確に反映されているのですが、さらに追加でB3の文字列が残業かつF3が5時間までなら時給金額に1.5倍をかけた金額を記載、5時間以上なら1.5倍した金額と残りの残業時間に1.8倍をした金額を足して記載するという要望がでたのですが、どう変更したり追加...続きを読む

Aベストアンサー

こんにちは

No1様が既にご指摘なさっているように、まず条件を整理した方が宜しいと思われます。
例えば、ご説明文を見てみると・・・

>G3のセルに
>B3の文字列が請負なら
> 「請負」と記載、
>それ以外でD3の文字列が
> A社なら「10000」
> C社なら「20.000」
> ・・・
>というように下記の計算式を入れています。

説明内容と添付図とで矛盾があるので、以下の様に勝手に修正して解釈。
・説明文の「B3セル」はC3セルの間違いと解釈
・例示のA社の場合は「10000」ではなく「16000」を正と考える
・データ表のA列(=会社名)と、計算シートのD列の会社名は一致していると仮定。
(添付図では不一致ですが、正確さと効率化を考えるなら一致させるのが筋)

仮にこのような解釈を正とできるなら、G3セルの計算式はご提示のようなものではなく

 =IF(C3="請負",C3,VLOOKUP(D3,データ表!A:B,2,0))

程度の式で済ませられるはずです。
(セル位置や範囲が不明確なので上式は正確ではありませんが、式の構成として上記程度で済むはずという意味です)


まず、内容を整理できないと、仮に質問をなさっても回答者には正しく伝わりません。
(よって、正しい回答を得ることも期待できません。)
また、No1様のおっしゃるように、整理できてしまえば自力解決もできそうに思えます。

こんにちは

No1様が既にご指摘なさっているように、まず条件を整理した方が宜しいと思われます。
例えば、ご説明文を見てみると・・・

>G3のセルに
>B3の文字列が請負なら
> 「請負」と記載、
>それ以外でD3の文字列が
> A社なら「10000」
> C社なら「20.000」
> ・・・
>というように下記の計算式を入れています。

説明内容と添付図とで矛盾があるので、以下の様に勝手に修正して解釈。
・説明文の「B3セル」はC3セルの間違いと解釈
・例示のA社の場合は「10000」ではなく「16000」を正と考える
...続きを読む

Qエクセル リストと完全一致するセルに色をつける

シート1のA列とB列に
aaa ccc
bbb ggg
ccc kkk
ddd ooo
と言うリストがあって、A1〜A4はAチーム、B1〜B4まではBチームと名前を付けています
シート2にAチームのリスト4個が続いているものがあればセルを赤、Bチームのリスト4個が続いているものがあればセルを黄色に塗りたいです
AチームとBチームの中には同じ品番がある時もあります
条件付き書式で設定は出来るでしょうか?

Aベストアンサー

(´・ω・`)
”○” の数を数えるんじゃないんだよなあ。

・・・本題・・・

条件付き書式ですよね。

シート2のリストの並び順は
 aaa
 ccc
 bbb
 ddd
では「Aチーム」と認識しないという事でよろしいでしょうか?
ならば、とても簡単です。

シート2の一覧において、

 判定するセル1
 判定するセル2
 判定するセル3
 色を付けるセル
 判定するセル4
 判定するセル5
 判定するセル6

という範囲について調べれば良いという事。

 判定するセル1
 判定するセル2
 判定するセル3
 色を付けるセル

 判定するセル2
 判定するセル3
 色を付けるセル
 判定するセル4

 判定するセル3
 色を付けるセル
 判定するセル4
 判定するセル5

 色を付けるセル
 判定するセル4
 判定するセル5
 判定するセル6

の4パターンについてそれぞれ調べれば良いだけ。

自分なら
 aaa-bbb-ccc-ddd
のようにシート1から文字列を作り、それが調べるセルで同じパターンになるかを調べます。
シート1はA5セルから、シート2はA11セルからデータが入力されているなら、

 シート1!A5 & シート1!A6 & シート1!A7 & シート1!A8 = A11 & A12 & A13 & A14
 シート1!A5 & シート1!A6 & シート1!A7 & シート1!A8 = A12 & A13 & A14 & A15
 シート1!A5 & シート1!A6 & シート1!A7 & シート1!A8 = A13 & A14 & A15 & A16
 シート1!A5 & シート1!A6 & シート1!A7 & シート1!A8 = A14 & A15 & A16 & A17

という条件になる。
この4つのうちの一つでも条件を満たせばセルに赤色を付ければいい。
「Bチーム」についても同様にすればいいので、
この場合、8つの条件式を設定することになります。

面倒でもこの考え方ができていないと、ちょっと条件が変わっただけで対処できずに終わります。
冒頭で「並び順」について書きましたが、並び順がシート1のリストの通りでなくとも色を付けたい場合でも、この考え方は必要ということです。

・・・
ちなみに厄介なのが、どちらのチームにも「ccc」がいるというところかな。
これが無ければ違う方法でシンプルにできるんですけどねえ。

(´・ω・`)
”○” の数を数えるんじゃないんだよなあ。

・・・本題・・・

条件付き書式ですよね。

シート2のリストの並び順は
 aaa
 ccc
 bbb
 ddd
では「Aチーム」と認識しないという事でよろしいでしょうか?
ならば、とても簡単です。

シート2の一覧において、

 判定するセル1
 判定するセル2
 判定するセル3
 色を付けるセル
 判定するセル4
 判定するセル5
 判定するセル6

という範囲について調べれば良いという事。

 判定するセル1
 判定するセル2
 判定するセル3
 色を付け...続きを読む

Q何故このようなプログラムだとエクセルに書き込めないのか教えてください。

何故このようなプログラムだとエクセルに書き込めないのか教えてください。

Aベストアンサー

私もPythonは研究を始めたばかりですが、まさかopenpyxlとかのExcel操作ライブラリがインストールされてないなんてオチはないですよね?

あとsheet1.write(str… ってなってますが、ここはセル番地の指定だからstrでは文字列になっちゃうのでまずいと思います。変数countは数値なんだから、そのまま sheet1.write(count, 0 ,str(inputvale)) でいけるのでは?

Qエクセルでの転記の方法について

指定した範囲内で、条件を満たすセル(①)と同列の別のセル内の文字を、①と同行の別のセルに転記する方法はありますか?
検討違いな質問をしていたら申し訳ありません。

画像を添付しています。
パソコンの画面を撮影したため、見辛くてすみません。
画面右の文字が読みづらいと思いますので、こちらに記載します。
「←黄色の範囲内で●がついている人の名前を(この場合は”山田“)、水色のセルに転記したい」

Aベストアンサー

G3: =IFERROR(INDEX(B$2:F$2,MATCH("●",B3:F3,0)),"None")

QExcelの変更方法について教えて下さい!!

今までExcelの2003のバージョンのものを使用していましたが
パソコンを変えて、Officeを2016に変更しました。

その際、仕事で使っていた資料をExcelの2016で開くと
変わっていることが多く、何点か面倒なことがあります。

①前までリストボックスの形式になっていたものが
 チェックボックスの形式に変わっていました。
 チェックボックスが使いづらいので、リストボックスに変更したいです。
 やり方はありますか?

②塗りつぶしの色に『ローズ』というカラーが前までは
 あったのですが、2016にはありません。
 また、ユーザー設定した場合、どれにすればいいのか
 そしてそれを規定(毎回ユーザー設定せずにスムーズに使える)するには
 どうすればいいのか。


パソコンがあまり得意ではないので、
表現や言葉があっているかわかりませんが、困っていますので
わかる方、どうかお力を貸してもらませんでしょうか。

宜しくお願い致します。

Aベストアンサー

オートフィルターについては慣れるしかないと思いますよ。
http://www.eurus.dti.ne.jp/~yoneyama/Excel/filter.htm
以前よりも直感的作業ができると思いますしね。
http://www.eurus.dti.ne.jp/~yoneyama/Excel/filter.htm

塗りつぶしの色については、仕様変更で探すのが大変ですよね。
http://yamagen.hatenablog.com/entry/2015/06/26/135718
https://hongopc.exblog.jp/7619758/
アドインを使う方法もあるようです。
https://www.aruse.net/entry/2018/09/13/015550

Q月末の自動計算

月末火曜日の日付をスタートとして稼働日数を求めたいと思っています。

10月なら9/25~10/30まで
11月なら10/30~11/27まで
12月なら11/27~12/25までの日数を計算したいです。

月末水曜日になると当月の日数に自動で計算が切り替わるよう計算することは可能でしょうか。

わかる方がいれば教えていただきたいです。
※土日は日数に含んでOKです。

Aベストアンサー

No1です

>先程試したところ8と表示されるのですが11/28~今日までが8日という計算でしょうか?
はい。下に示しますように『今日』を対象に計算する式として作成してしまいましたので、12/5(=本日)は11/27(=最終火曜日)から数えて8日目という意味になります。
(シートが自動計算の設定になっていれば、明日になると9と表示されるはずです)

私の勝手な勘違いだったかもしれませんが、「今日が月末火曜日から何日目かを計算する」関数式として考えていましたが、対象が「今日」とは限らなかったのでしょうか?
その場合は、式中の「TODAY()」の部分を対象の日(=シリアル値)に置き換えればそのまま同じ計算が可能なはずです。
例えば、対象の日がA1セルに入力されているとするなら、TODAY()を全てA1に置き換えればよいといった感じです。

>ただ、水曜日になったら前日の火曜日分も含めて計算してほしいです。
翌日の水曜日を2日目と計算したいという意味でしょうか?
(No1の説明を読んでいただければわかりますが)現在の式は、水曜日は1(日目)と表示される式になっています。
修正したい場合は、No1の式より常に1日多い値になれば良いだけなので、式の最後に「+1」を加えれば、お求めの結果になると思います。

>とても複雑な回答で解読できなかったので教えていただけると幸いです
式は少々長いですが、全体としての構成は、単純にIFで場合分けした式になっています。
ご参考までに、大雑把な構成を言葉で示すならば・・・
『対象日(今日)がその月の最終火曜日より前なら、前月の最終火曜日からの日数を数え、後ならその月の最終火曜日からの日数を数える』
という式になっています。

No1です

>先程試したところ8と表示されるのですが11/28~今日までが8日という計算でしょうか?
はい。下に示しますように『今日』を対象に計算する式として作成してしまいましたので、12/5(=本日)は11/27(=最終火曜日)から数えて8日目という意味になります。
(シートが自動計算の設定になっていれば、明日になると9と表示されるはずです)

私の勝手な勘違いだったかもしれませんが、「今日が月末火曜日から何日目かを計算する」関数式として考えていましたが、対象が「今日」とは限らなかったのでしょう...続きを読む

Qエクセル2013 複数の列の表示非表示一発で切り替えたい

エクセル2013 複数の列の表示非表示を切り替えするにはマクロでしょうか?

過去にエクセル2005ぐらいだったかと思いますが飛び飛びの点々としたセルの内容を一斉に削除するというボタンを作ったことがあり、
それを参考に今回2013で複数の列を表示・非表示切り替えできないかと試したものの全くついていけません。
普段数式でもやっと扱う程度ですのでできるだけ簡単にこのようなことが実現できる方法はないでしょうか。

具体的には1~12月の参照にする列を数項目につき設置したので、
全表示だと「項目A・1月列・2月・3月・・・~12月・計の列」「項目B・1月列・2~~~」となっています。
これを各月の作業の邪魔にならないように例えば各項目の1月分を入力する時だけ2~12月列は非表示、
同じく2月の入力時は1月列と3~12月を非表示、2月の列だけ登場させるという形で、12ヶ月分のパターン+全月非表示の計13パターンがほしいところ。
全体ではA~GIの列数があり、各項目ごとに手作業で選択すると毎回大変なので、部分的に非表示・表示となる一発操作をしたいのですが、こんなことできますか?

エクセル2013 複数の列の表示非表示を切り替えするにはマクロでしょうか?

過去にエクセル2005ぐらいだったかと思いますが飛び飛びの点々としたセルの内容を一斉に削除するというボタンを作ったことがあり、
それを参考に今回2013で複数の列を表示・非表示切り替えできないかと試したものの全くついていけません。
普段数式でもやっと扱う程度ですのでできるだけ簡単にこのようなことが実現できる方法はないでしょうか。

具体的には1~12月の参照にする列を数項目につき設置したので、
全表示だと「...続きを読む

Aベストアンサー

No2さんもおっしゃっていますが、「ユーザー設定ビュー」が簡単かと

http://cblog.crie.jp/excel/293/
http://www4.synapse.ne.jp/yone/excel/excel_user_view.html

Qエクセルについて!!

「作業員データ」シートにはM.N.Oの6~500行まで出勤した作業員の日付、名前、会社名が一覧として書かれています。

そのデータを下記のようにをB.C.F列に各作業員が初めて出勤した日にちのみのデータを自動で詰めて反映させるようにしたいのですが、計算式、マクロ等方法がありましたらご教授いただけたらと思います。

Aベストアンサー

こんばんは!

作業用の列を使えば関数で出来そうですが、
手っ取り早くVBAでの一例です。
尚、M列日付は昇順に並んでいるとします。

画像通りの配置だとして・・・

Sub Sample1()
 Dim myDic As Object
 Dim i As Long, lastRow As Long
 Dim myStr As String
 Dim myKey, myItem, myR, myAry
  Set myDic = CreateObject("Scripting.Dictionary")
   lastRow = Cells(Rows.Count, "B").End(xlUp).Row
    If lastRow > 5 Then
     Union(Range(Cells(6, "B"), Cells(lastRow, "C")), Range(Cells(6, "F"), Cells(lastRow, "F"))).ClearContents
    End If
   lastRow = Cells(Rows.Count, "M").End(xlUp).Row
    myR = Range(Cells(6, "M"), Cells(lastRow, "O"))
     For i = 1 To UBound(myR, 1)
      If Not myDic.exists(myR(i, 2)) Then
       myStr = myR(i, 1) & "_" & myR(i, 3)
       myDic.Add myR(i, 2), myStr
      End If
     Next i
    myKey = myDic.keys
    myItem = myDic.items
     For i = 0 To UBound(myKey)
      myAry = Split(myItem(i), "_")
       Cells(i + 6, "B") = myAry(0)
       Cells(i + 6, "C") = myKey(i)
       Cells(i + 6, "F") = myAry(1)
     Next i
    Set myDic = Nothing
     Range("B:B").NumberFormatLocal = Range("M6").NumberFormatLocal
     MsgBox "完了"
End Sub

※ 関数でないので、データ変更があるたびに
マクロを実行する必要があります。m(_ _)m

こんばんは!

作業用の列を使えば関数で出来そうですが、
手っ取り早くVBAでの一例です。
尚、M列日付は昇順に並んでいるとします。

画像通りの配置だとして・・・

Sub Sample1()
 Dim myDic As Object
 Dim i As Long, lastRow As Long
 Dim myStr As String
 Dim myKey, myItem, myR, myAry
  Set myDic = CreateObject("Scripting.Dictionary")
   lastRow = Cells(Rows.Count, "B").End(xlUp).Row
    If lastRow > 5 Then
     Union(Range(Cells(6, "B"), Cells(lastRow, "C")), Range...続きを読む

Qエクセル 特定の文字がある複数の行に関数を入力したい

VBAについて教えてください。

A列に”WH”という文字が含まれていたら、
I列に”=VLOOKUP(A5,[材料使用予定表マクロ.xlsm]フタミ箱集計!$E$3:$O$200,6,FALSE)”
という関数を入力したいです。

[材料使用予定表マクロ.xlsm]フタミ箱集計は入力したいブックとは別のブックです。
A列に”WH”は複数あります。
全データは2000行あります。

ど素人が調べてやってみても時間が過ぎるばかりでした・・・
お力を貸してくださいm(__)m

Aベストアンサー

もしくは、IF関数でA列のセルに”WH”という文字が含まれていたらVLOOKUPの式、そうでなければ空白(か、お好みの結果)という式を全部に入れるとか。

>ど素人が調べてやってみても
どういうことをやったみたのかくらいは書いていただきたいですね。

Q【エクセル】同じ内容のセルの2行目以降を「同上」などに置換したい

エクセルで、例えば次のようなリストがあります。

 ----------
 トマト 2個
 トマト 10個
 トマト 3個
 カボチャ 1個
 キャベツ 1個
 キャベツ 5個
 ----------

「トマト」と「2個」は別のセルです。
これを、次のように自動的に変えたいのですが、やり方が分かりません。

 ----------
 トマト 2個
  〃 10個
  〃 3個
 カボチャ 1個
 キャベツ 1個
  〃 5個
 ----------

あるセルが、すぐ上のセルと同じだった場合に、その内容を「同上」とか「〃」とかに置換したいのです。
お分かりの方がおいででしたら、ご教示ください。
ちなみに、使っているのはExcel 2013です。
どうぞよろしくお願いいたします。

Aベストアンサー

No.3の回答者です。

表示上ではなくA列の値そのものを置換するなら、マクロを使って
置換をするか、別の作業列を用意して、式などで値を出したものを
コピーして、A列に値として貼り付ければ置き換えできます。

・作業列での数式の例
 =IF(COUNTIF($A$2:A2,A2)>1,"〃 ",A2)


人気Q&Aランキング