1、問題は、所得税表から給与額の階級値にあてはまり、かつ勤続年数が一致する、所得税を関数を出して求めてください。と言う問題です

所得税表は、項目列(給与額)と項目行(勤続年数)の2次元の表に
なっています。
給与額の階級値は10000単位ぐらいで、列項目です。
また、勤続年数12345678・・と並んでいます。

「所得税」に「税額表」から「給与額」「勤続年数」に該当する税額を関数を使用して表示させる方法は無いでしょうか?

2、日給から時給をまとめて求める問題で困っています
まず、「日給」を「出勤」、「退勤」、「休憩」、「時給」から計算する関数「日給計算」を作成しなさい。という問題があり、
これは、上手くできたのですが。

その次に、「日給」「時給」を使用して
別シートに「総労働時間」を計算しなさい。
その際、25%UP分は考慮に入れないものとする。

出勤表(日給、出勤、退勤休憩などの項目の列があり、
各日付ごとに連なっています。)

この出勤表のそれぞれの日給をまとめて時給で割り、
配列数式を使って求めたのですが。
自分が立てた計算式は、
={SUM(IF(日給="",0,IF(日給/出勤表!E18>7,日給*0.75/出勤表!E18,日給/出勤表!E18)))}
1.25倍した日給をif文を利用して0.75を掛けて1に戻している感じです。
でも答えが合いません。


3、回帰分析の方程式の立て方?について

広告宣伝費の増減に対して、売上高を予測する回帰分析を
作成したのですが、そこから方程式を求めるXの値が?です。

Y=AX+B なので、
Y=宣伝広告費の係数*[宣伝広告費]+切片と言うのは分かるのですが、
[宣伝広告費]に何を代入してよいのか分からなくて困っています。

後、ソルバーを使用してシナリオを登録する時に、
二つソルバーを使用するとき、同時に二つのソルバーをシナリオとして
登録できないのでしょうか?

よろしくお願いします。

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

A 回答 (2件)

すいません、やっぱり問題の意味が読みとれませんでした。

(汗)

細かいつっこみをするのであれば
日給の計算式が
7時間以上の場合、日給*1.25とされていますが
実際には (時給*7)+(時給*(勤務時間-7)*1.25)では?

また、
> 1.25倍した日給をif文を利用して0.75を掛けて1に戻している感じです。
とありますが
1.25*0.75 = 1
と言う式はおかしいですよね。(計算してみて下さい。)
1.25で割るか0.8を掛けなければ1にはなりません。
    • good
    • 0
この回答へのお礼

お礼のお返事遅れてすいませんです。
そして、再び解答ありがとうございます。

計算間違っていました。(^_^;)
1.25倍したものに0.75を掛けても1にはなりませんよね。(^_^;)
で、1.25で割る、もしくは、0.8を掛けることでなんとか上手くいきました。

日給計算では、勤務時間が7時間以上の者をだけを対象にするので、
どうしてもif文見たいな分岐がないと自分の解像度では(笑)駄目でした。

mamorukatouさんの計算式を当てはめさせていただきましたが、
勤務時間が7時間より小さい時も1.25倍してしまうみたいでした。

でも、こんな計算の仕方もあるんだなぁ~と勉強させてもらいました。

後、実際の合計と比べて若干答えが合わなかったのですが、
もう1つ理由を発見しました。
ユーザー定義で作成した型を、IntegerからVariantに変更することにより、
上手く合致してくれたみたいです。
おそらく、時間のデータでは、Variant型でないと小数点が合致してこない
感じがしました。

色々、ありがとうございました。m(__)mm(__)m

お礼日時:2002/03/29 01:51

まず、1番目の問題ですが



1行に
給与額、勤続1年の税額、勤続2年の税額・・・・・
と並んでいるのであれば
=VLOOKUP(給与額,所得税表,勤続年数+1)
で求めることができるのでは?

2番目の問題は
問題の意味がよくわかりません。
日給、出勤や退勤休憩にどんなデータが入っているのかがよく分かりません。

3番目は
私には全然分からないです

この回答への補足

すいませんです。
問題の説明がめちゃくちゃで。
2、の質問の訂正です。

日付曜日出勤退勤休憩日給
9月1日Tue10:3021:002:30\12,000
9月2日Wed9:3022:002:00\15,000
9月3日Thu
9月4日Fri10:0016:001:00\6,000


出勤表はこんな具合で、日給以外は時間のデータが入っています。
時給は、表とは別にセルを固定で設けてあります。

日給計算は、ユーザー定義関数を使って、
もし、退社-出勤-休憩が>7より大きければ日給を1.25倍すると
いった関数を定義しています。日給は出勤が空白の場合は、空白にしています。
で、日給1列のセルに「日給」と言う名前を定義して付けています。

問題には、「日給」「時給」を使用して「総労働時間」を計算しなさい。
とあり、日給計算でUPした25%分は考慮しないで求めるとのことでした。

なんとなくですが、式はこんな具合でいけそうな感じがしたのですが、
合計を取ってみるとやっぱり・・・違います。(T_T)
={SUM(IF(日給="",0,IF(日給/出勤表!E18>7,日給*0.75/出勤表!E18,日給/出勤表!E18)))}


問題詳細なくてすいません。
また、良かったらよろしくお願いします。m(__)m

補足日時:2002/03/27 08:43
    • good
    • 0
この回答へのお礼

mamorukatouさん、解答ありがとうございます。
おかげで、勉強になりました。
また、すっきりしました。
VLOOKUP関数で+2という指定が出来たんですね!
また、教えてもらったおかげでVLOOKUPの使い道が増えました。
本当にありがとうございました。

お礼日時:2002/03/27 08:41

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

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

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

Qテーブルリンク エクセルの4行目を先頭行にしたい

エクセルのデータをアクセスにテーブルリンクしたいのですが
エクセルの先頭行が4行目から始まります。
なおかつA1に文字が入ります。
(画像参照)

このエクセルデータをアクセスの
「テーブルのリンク」→ファイルを選ぶ
→ワークシートリンクウィザードが表示され、次のページに進み、
「先頭行をフィールド名として使う」にチェックを入れたいのですが、先頭行は4行目です。

この場合、どうすればエクセルの4行目を
アクセスのテーブルリンクの先頭行にできるのでしょうか?

エクセルのA1の文字を消去すれば自動的に4行目がアクセスで先頭行になりますが
エクセルの方は決まったフォーマットなのでA1の文字を消去することはできません。

ご回答よろしくお願いします。

Aベストアンサー

#1です

Excel ファイル側に手を入れられるのなら、#2さんの方がお勧めです。

なお、範囲名部分が行方向に増えるのなら、(Excel側で範囲を再設定)
何もせずに Access 側から変更を含めて値を得ることが出来るようですが、
列方向に範囲が広がった場合、 リンクの更新(RefreshLink)が必要みたいです。

嘘を言ってるかも知れないので、裏取りはしっかりとしてください。

Qエクセルで勤続年数、年齢により勤続年数を変える

社員の勤続年数について、エクセルでの計算について知恵を貸して下さい。
基準日は毎年4月1日現在で勤続年数を計算します。ただし、60歳に達した者については、60歳に達した日後の最初の4月1日以降の勤続年数は計算しない。なお、55歳に達した日後の最初の4月1日から60歳に達した日後の最初の3月31日までの勤続年数は実勤続年数の1/2とします。
単純な採用日から4月1日までの計算はDATEDIFを使ってできるのですが、55歳(60歳)に達した日後の最初の4月1日(3月31日)に手こずっております。
よろしくお願いします。

Aベストアンサー

No2です。早生まれの人とそうでない人を区別する必要があるのですね。
参考までに、TEXT関数で誕生日の月と日にちを出して
=TEXT(A2,"mm/dd")*1<("04/01")*1
の式で誕生日が4月1日より前か後か判断できると思います。
55歳最初の4月1日
=IF(TEXT(A2,"mm/dd")*1<("04/1")*1,DATE(YEAR(A2)+54,4,1),DATE(YEAR(A2)+55,4,1))
では回答になりませんでしょうか。

Qエクセルで、条件を指定した行数のカウントについて

エクセルにて、条件に合致する行数のカウントを行うことは出来ますでしょうか。

添付画像のようなエクセルファイルにて、各日毎に「AAA」を含む行は何行あり、「BBB」を含む行は何行あるかをカウントしたいです。

添付のエクセルであれば、A列が「10月1日」でB列に「AAA」を含む行は○行という条件でカントが出来れば実現可能とは思いますが、
こういったカウントの仕方がそもそもエクセルで出来るのかどうか知りたいです。

もし、エクセル以外の方法で可能なのであれば、その方法も教えていただけるとありがたいです。

Aベストアンサー

SUMPRODUCT関数などを使った場合にはデータ数が多くなった場合には計算が重くなります。
作業列を使った方法がよいでしょう。
お示しのデータがシート1に有るとしてC列を作業列としてC2セルには次の式を入力して下方にオートフィルドラッグします。

=IF(A1="","",IF(COUNTIF(B1,"AAA*"),A1&"AAA",IF(COUNTIF(B1,"BBB*"),A1&"BBB","")))

次にお望みの表を別のシートに表示させるとしたら別のpシートのB1セルにはAAAと入力しC1セルにはBBBと入力します。
A2セルから下方には例えば10月1日からの日付を入力します。
B2セルには次の式を入力してC2セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。

=IF($A2="","",COUNTIF(Sheet1!$C:$C,$A2&B$1))

Qエクセルで出勤シフト表中の数字から別シートで名前入りの出勤表を作成したい

エクセル初心者です。
勤務は午前、午後、いずれも2名体制ですが、各自の都合があるので毎月出勤シフト表を組んでいます。午前と午後で勤務時間も違い、時折午前休みもあります。月の出勤日数(午前、午後の回数)や勤務時間の合計を出しやすいことからシート1のように、出勤する人には「1」を入力した月別勤務表を作成。ここからが本題です。
シート1で出勤することになった人(「1」を入力した人)を別シート2で名前を出したいです。シート2でプルダウンメニューを使えば名前が入ることは知っていますが、シート1の「1」の入力からシート2の名前を導き出す数式はありますか?

Aベストアンサー

数式を拝見しました。

おそらく最後のCOLUMN関数でB列を指定しているためだと思います。
このCOLUMN関数はSMALL関数「順位」(何番目か?)を求めている関数なので
B列を指定してしまうと「2番目」から表示されます。
(B1、B100、B1000でも列番号ですのですべて「2」となります)

表示したいのは配列数式が「TRUE」の行の小さい順から1番目と2番目ですので、
かならずA列から指定してやる必要があります。
お示しの数式ではおそらく2番目・3番目が表示されるのでは?

数式内の
>COLUMN(B2)
の部分を
>COLUMN(A1)
(もちろんCOLUMN(A2)でも問題ありません)
に変更したらどうなりますか?m(_ _)m

Qテキストファイルから必要な項目(行)をエクセルの行に移行させるには

テキストファイルから必要な項目(行)をエクセルの行に移行させる簡単な方法を教えて下さい。
1テキスト=エクセルの1行

Aベストアンサー

コピーアンドペーストでうまくいく気がします。
テキストファイルを、ノートパッドなどで開いて、全文をコピーし、エクセルに貼り付けるだけです。エクセルは、左上端のセル一つだけが選択された状態にしておきます。複数のセルを選択しているとサイズが合わないと文句を言われるかもしれません。

Qエクセル2003で勤務シフト表を作成 退勤時刻を表示させる関数を探しています。

エクセル2003にて、職場の勤務シフト表を以下のように作成中です。

  A   B   C   D   E   F   G   H   I   J  
1     出   退   14   15  16   17  18  19  20
2山田  14  18   A   A   B   B
3佐藤  15  19       B   A   A   A
4鈴木 
5福田  16  20           C   C   C   C
6             14   15  16   17  18  19  20
この様な形式です。
1.D2:J5セルには、ポジションの略称が入ります。
 (例:2行の山田さんは14時~16時までAポジション、16時~18時までBポジション。4行の鈴木さんはこの日はお休み) 
2.各時間帯の適正人数を考えながら、D2:J5セルにポジション略称でシフトを入力していきます。
3.上記2.の作業後、出勤時刻をB列に、退勤時刻をC列に自動的に表示されるようにしたいのです。  
4.出勤時刻に関しては、なんとか自身で調べてB2セルの場合、
  =IF(COUNTBLANK(D2:J2)=7,"",HLOOKUP("*",$D2:$J$6,7-ROW(),FALSE)) とすることで解決できました。
【ここから困っています。】
5.退勤時刻も同じように自動表示させたいのですが、ここで行き詰ってしまいました。
  解決策をお教えいただけると助かります。
  宜しくお願いいたします。

       

エクセル2003にて、職場の勤務シフト表を以下のように作成中です。

  A   B   C   D   E   F   G   H   I   J  
1     出   退   14   15  16   17  18  19  20
2山田  14  18   A   A   B   B
3佐藤  15  19       B   A   A   A
4鈴木 
5福田  16  20           C   C   C   C
6             14   15  16   17  18  19 ...続きを読む

Aベストアンサー

ポジション指定の途中に空きがないなら、出勤時刻+ポジションのカ
ウントでいいような気がします。もちろん、出勤時刻が空白なら空
白ですね。

Qエクセルの行の幅について

 エクセルの行幅を立ち上げ時点から太くしたいと思います。
 エクセルの行の幅は、立ち上げると12.75という高さになっているようです。しかし、これでは少々見づらいので15くらいにしたいと思います。
 もちろん、「行の高さ」で変更できるのは分かるのですが、毎回、修正するのが煩雑です。従って、立ち上げた初期段階から行の高さを変更することはできないでしょうか。

Aベストアンサー

う~ん。

確か、エクセルの初期設定で変更できるのは、
「シート数」「フォントの書体」「フォントの大きさ」
くらいだったと思います。
行の幅を、立ち上げ時から指定の幅にする事は出来なかったような…。

私自身、エクセルを結構利用するのですが、行の幅を変更するときは、
「全選択(画面左上の行(1)の上、と列(A)の左、の長方形の部分をクリック)」して、
行(1)と、行(2)の間にある線をドラッグして一気に全ての行の幅を変えています。

もし、それすらも煩雑と感じるほどにエクセルを新規で立ち上げているのであれば、
以下の方法はどうでしょうか?

1.行の幅を15に設定した「白紙のエクセル」をデスクトップに保存する。
2.新規で利用したい場合は、1で保存したエクセルをデスクトップ上でコピー(Ctrl + C)&ペースト(Ctrl + V)
3.ペーストしたエクセル(白紙で行幅15)を立ち上げる。

こうすれば、毎回行幅を変更する事なく、立ち上げ時から行幅15のエクセルが使用できますよ♪

ただ、全選択して一気に行幅を変える前者のやり方の方が簡単な気もしますが…。(汗

う~ん。

確か、エクセルの初期設定で変更できるのは、
「シート数」「フォントの書体」「フォントの大きさ」
くらいだったと思います。
行の幅を、立ち上げ時から指定の幅にする事は出来なかったような…。

私自身、エクセルを結構利用するのですが、行の幅を変更するときは、
「全選択(画面左上の行(1)の上、と列(A)の左、の長方形の部分をクリック)」して、
行(1)と、行(2)の間にある線をドラッグして一気に全ての行の幅を変えています。

もし、それすらも煩雑と感じるほどにエクセルを新規で立...続きを読む

Qエクセルで出勤表から出勤者の名前を出したいのですが。

エクセルで出勤表から出勤者の名前を出したいのですが。

介護施設に勤務しています。A~E(職員名とする)までの5人が勤務しているとします。今ここに、縦がA~E、横が月日のエクセルの表(表1とする)があるとします。
仮に6月1日はA,B,Cの3人が出勤で表の該当セルに○が入力されています。6月2日はB,D,Eが出勤で同様に○が入力されています。こんな感じで月末までの勤務表が出来ているとします。

ここで別のシートに「今日の出勤者」として当日の出勤者を表(表2)に出したいと思っています。
私が望んでいるのは、表1の希望の月日をクリック、もしくは入力すると、自動で表2のセルにその日の出勤者だけの名前が返せればいいのですが・・・。
本日の出勤者として本部に名前入りの表をあげないといけなく、これまでは表1から該当日の○を数えては、その職員名を手書きで書いて送っていました。この煩雑な作業を効率化したいと思っています。
よろしくご教授お願いいたします。

Aベストアンサー

日付をクリックした場合に実行する場合は以下のようなマクロを使用します。
使用した表と実行結果は画像の通りです。
このプログラムの場合1行目をクリックした場合に実行されます。
もしマクロで行うのであれば試してみてください。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim i As Integer
Dim iRowNo As Integer
iRowNo = 1
If Target.Row = 1 And Target.Column <> 1 Then
Worksheets("Sheet2").Columns(2).Clear
For i = 2 To 6
If Cells(i, Target.Column).Value = "○" Then
Worksheets("Sheet2").Cells(iRowNo, 2).Value = Cells(i, 1).Value
iRowNo = iRowNo + 1
End If
Next
End If
End Sub

日付をクリックした場合に実行する場合は以下のようなマクロを使用します。
使用した表と実行結果は画像の通りです。
このプログラムの場合1行目をクリックした場合に実行されます。
もしマクロで行うのであれば試してみてください。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim i As Integer
Dim iRowNo As Integer
iRowNo = 1
If Target.Row = 1 And Target.Column <> 1 Then
Worksheets("Sheet2").Columns(2).Clear
For i = 2 To 6
If Cells(i, Target.Col...続きを読む

Qエクセルの行の幅がずれる

エクセルで表を作っているのですが
行の高さを25にして確かめてみると
どうしても24.5というように25の幅になっていません。
どうすればきっちり自分の設定した行の高さになるのでしょうか教えてください。
エクセルは2000を使っています。

Aベストアンサー

セルの高さの単位はなんでしょう?
ポイントという単位なのですが、1ポイントは約0.35mmでポイントは文字の大きさの単位と同じです。エクセルでは11ポイントの場合標準の高さが13.5、14ポイントでは17.5と変化します。
エクセルの標準フォントの高さを基準にしています。(これはオプションで変更できます。)

ピクセルと言う基準があって、これをポイントと言う単位に直しているので、25と言う端数のない数値にならない事がある。

例えば、幅はどうでしょう、これは標準フォントの文字数を表しています。(規定があるのですが省略)

と言う事で、出来ません。
25の右にあるピクセルと言う単位を基本に使うようにしたらいかがでしょう。
例えば列幅とも100ピクセルを選択するとセルは正方形になります。(ピクセルは列幅とも同じ物です。)
この併記はエクセル2000から始まったようですが。(単位が違うので、合わせるためみたいです。)

Qエクセルでの勤続年数算出は?

 エクセルで勤続年数を出す方法を教えてください。
過去の質問を見ましたが、どう組み合わせたらいいのか分からず。。。

勤続年数を次のように算出したいのです。
「(1)15年まで55歳まで」「(2)15年以上55歳まで」「(3)55歳以上」
 例えば
  基準日   H20.4.1
  生年月日  S26.6.20(56才9カ月12日)
  入社日   S53.4.1(30年)
  「(1)15年」「(2)13年2ヵ月18日」「(3)1年9カ月12日」

  基準日   H20.4.1
  生年月日  S24.4.29(58才11カ月3日)
  入社日   H7.4.1(13年)
  「(1)9年0カ月27日」「(2)」「(3)3年11カ月3日」

というような結果が出るように式を作りたいのです。
datedif等でいろいろ考えたのですが、いい方法がわかりません。
よろしくお願いします。

Aベストアンサー

 A     B
1 基準日   H20.4.1
2 生年月日  S26.6.20
3 入社日   S53.4.1
4 55歳の前日 =DATE(YEAR(B2)+55,MONTH(B2),DAY(B2)-1)
として

(1)=MIN(DATEDIF(B3,MIN(B1,B4),"Y"),15)&"年"&IF(DATEDIF(B3,MIN(B1,B4),"Y")<15,TEXT(DATEDIF(B3,MIN(B1,B4),"YM"),"0ヶ月;;")&TEXT(DATEDIF(B3,MIN(B1,B4),"MD"),"0日;;"),"")

(2)=(DATEDIF(B3,MIN(B1,B4),"Y")-15)&"年"&IF(DATEDIF(B3,MIN(B1,B4),"Y")>=15,TEXT(DATEDIF(B3,MIN(B1,B4),"YM"),"0ヶ月;;")&TEXT(DATEDIF(B3,MIN(B1,B4),"MD"),"0日;;"),"")

(3)=IF(B1>B4,DATEDIF(B4,B1+1,"Y")&"年"&TEXT(DATEDIF(B4,B1+1,"YM"),"0ヶ月;;")&TEXT(DATEDIF(B4,B1+1,"MD"),"0日;;"),"")

 A     B
1 基準日   H20.4.1
2 生年月日  S26.6.20
3 入社日   S53.4.1
4 55歳の前日 =DATE(YEAR(B2)+55,MONTH(B2),DAY(B2)-1)
として

(1)=MIN(DATEDIF(B3,MIN(B1,B4),"Y"),15)&"年"&IF(DATEDIF(B3,MIN(B1,B4),"Y")<15,TEXT(DATEDIF(B3,MIN(B1,B4),"YM"),"0ヶ月;;")&TEXT(DATEDIF(B3,MIN(B1,B4),"MD"),"0日;;"),"")

(2)=(DATEDIF(B3,MIN(B1,B4),"Y")-15)&"年"&IF(DATEDIF(B3,MIN(B1,B4),"Y")>=15,TEXT(DATEDIF(B3,MIN(B1,B4),"YM"),"0ヶ月;;")&TEXT(DATEDIF(B3,MIN(B1,B4),"MD"),"0日;;"),...続きを読む


人気Q&Aランキング

おすすめ情報