• 締切済み

エクセルの計算式

imogasiの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.5

#4です。 今までの質問者だと、補足要求をしても、補足をくれた人は非常に少ないので、 今回は押し掛け的に、仕様も#4の線で、こちらで推測しやってみた。 しかし最近エクセルをやり始めた人が、できるほどやさしい問題ではないと思う。 (この下記の式を自分の課題の場合に微修正することもできないかもしれない。) 色んな人も見ていたり、将来にも、類似課題で、このコーナーのこの質問を(WEBで)見るかもしれないので、あえて記す。 ーー 元データ 1日1枚のシート。4月1日から4月3日まで1枚ずつ。4日以後は省略。 担当者は3名。山田、佐藤、木村とする。 データ例は 4月1日(4月1日分ということで、シート名とする) A1:D2 4月1日 山田 佐藤 木村 以右列略 (A1の4月1日は文字列) (注意)数字文字列は半角か全角どちらかに統一すること。 データ  22 33 35 4月2日(シート名) A1:D2 4月2日 佐藤 木村 山田 以右列略 (A1の4月2日は文字列) データ     16 25 35 4月3日(シート名) A1:D2 4月3日 木村 山田 佐藤 以右列略 (A1の4月3日は文字列) データ     27 17 29 ーー 質問に基づいて、山田、佐藤、木村の列が日によって違う、設例にした。 == 上記3シートのほかに、山田、佐藤、木村のシートを作る。 まず佐藤にシートにおいて、 A列A1:A5に下記データを作る。 山田  データ 4月1日  4月2日 4月3日 4月4日 ・・ 以下略。4月1日をA2にいれて、右下ハンドルを出して下に引っ張れば連続した日が入る。 データは「見出し」のつもり。ただ休日は省くとなると注意必要。 (注意)4月1日などは文字列とする。シート名と一致させること。日付シリアル値を使わない。 ーー 同じく佐藤のシート、木村のシートを作る。すなわち、担当者分だけ作る。 === (関数式の設定) 山田シートのB2に =INDEX(INDIRECT("'"&A2&"'!B1:J10"),2,MATCH($A$1,INDIRECT("'"&A2&"'!B1:J1"),0)) その式をB4まで複写。 山田シートの結果 A1:B4 山田 データ 4月1日 22 4月2日 35 4月3日 17 同じく佐藤のシートのB2に =INDEX(INDIRECT("'"&A2&"'!B1:J10"),2,MATCH($A$1,INDIRECT("'"&A2&"'!B1:J1"),0))と式を入れる。 山田のシートのB2の式と同じ式である。式を複写できるということ。 その式をB4まで複写 結果 佐藤 データ  ここの「データ」は、質問では「重量」? 4月1日 33  ↓式の複写 4月2日 16 4月3日 29 木村シートも同じなので説明の記述略。 結果 木村 4月1日 35 ↓式の複写 4月2日 25 4月3日 27 担当者名とシート名とを相対化した(式の中に、具体的なシート名や担当者名は出てこないことに注意) このために INDIRECT関数を使わざるを得ない。 ここではINDEX,INDIRECT,MATCHの3つの関数の組み合わせを使っている。 質問例に出てくる「単価」については、説明略。この回答のデータ例に出してないが、式の1か所だけ変えれば出せる程度のもの。

cocoharu07
質問者

お礼

大変、ご丁寧に説明頂いてありがとう ございます。 なんとか、やってみます。 ありがとうございます☆

関連するQ&A

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

    自動表示についてご質問いたします。 シート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で日付を入れると自動的に曜日が入る

    方法を教えてください。 家庭訪問の日時を保護者に連絡する用紙を作ります。 Excelのシート1のA列に児童の名前を出席番号順に全員分入れます。 B列には日にちを入れます。C列には曜日を、D列には時を、E列には分を入れます。 これをシート2に飛ばし、保護者に渡すカードを作ります。 シート2に飛ばすことはできるのですが、シート1の入力をなるべく簡単にするために、B列に日にちを入れると、自動的にC列に曜日が入るようにしたいのです。 例えば、「21」と入れたら「月」、「22」と入れたら「火」・・・というふうにです。 IF関数を使うといいのかなとは思いますが、上手にできません。 どんな関数にすればいいのか、教えていただけませんか? よろしくお願いします。

  • エクセルVBAについて教えてください

    エクセル2003 シート1     A       B      C 1  3月1日 A 100     *A列はカレンダーコントロールより選択としています 2  4月1日 B 100 3  3月1日 C 200     *B列はコンボボックスより選択としています 4  3月1日 D 200 5  4月1日 E 300     *C列は直接入力としています 6  4月1日 F 300 7  3月1日 G 100 8  4月1日 H 200 9  3月1日 I 200 10  4月1日 J 100 上記シート1の表のC列を下記シート2のC列に条件集計する シート2    A       B       C 1  3月1日   A~E     500    *選択した日付ごと及びA・B・C・D・Eの集計  2  3月1日   F~J     300    *選択した日付ごと及びF・G・H・I・Jの集計     3  4月1日   A~E     400    *選択した日付ごと及びA・B・C・D・Eの集計    4  4月1日   F~J     600    *選択した日付ごと及びF・G・H・I・Jの集計  すいませんが上記コードを教えてください 困ってます よろしくお願いします      

  • エクセル残業計算書を教えてください!!

    EXCELで残業計算書を作成していますが、なにぶん素人なもので、独り孤軍奮闘しております。 どうしても、うまく組めず困り果てております。皆様のお知恵をお貸しください・・・ エクセル表で A列   B列    C列      D列         E列 12/1  月曜日  残業時間  労働時間    結果(1週間の合計D列が40時 間を超えた場合は、超えた時間 43.25h→3.25h) 12/2                (残業含む)     (40hを超えていない場合は、C列の計)をだしたいんです。  ・ 12/28(日)-12/31(水)のような場合はD列計は次の月のD列頭に移行する このように、月初めと月終わりが素直に日曜~土曜までではなく、週の途中から始まってしまったりします。 月を入力すれば、A列・B列が自動で出るようには出来たのですが、E列が上手くいきません。 よろしく御指導おねがいします。

  • EXCEL の計算式についてお教えください

    下記のようなシートに計算式入っています 条件は基本的にはC列は他の列より大きいか同じ・D列は他の列より小さいか同じ BDE列 - が入ると×になりますがC列だけ○になってしまいます 1    A     B    C    D    E 2   3月18日  4931  4939  4891  4897 3   3月20日  4938  4944  4895  4901 4   3月21日  4926  4934  4886  4891 5   3月23日  4938  -    4895  4901 G 列に =IF(AND(D2>=C2,D2>=E2,D2>=F2,E2<=F2,E2<=C2,E2<=D2),"○","×") 入れて下にコピーし計算して見ましたがうまくいきません。 どのようにすればよいのか・・・。 よろしくお願いします。

  • エクセルの関数について教えてください

    エクセル関数について教えてください。 下記に入れる関数がわからず困っています。よろしくお願いいたします。 (1)B列→A列に名前を入力したら自動でB列には順番に番号が入るようにしたいです。番号は、前の行から引き続きで入れたいです。例えば、次に名前が入った場合は8になります。 (2)D列→入社日から換算して自動に勤続年数が入るようにしたいです。また、いつ開いても自動更新できるようにしたいです。 (3)H列→G列の合計金額が(sheet2)のB列~D列の間に値する場合は、(sheet2)のA列の番号が自動で入るようにしたいです。(5列6列目は省略していますが実際には数字が入ります) ただし、(sheet2)のD8(630,000)以上の数字が入った場合は、すべて620にしたいです

  • エクセルでの計算式を教えて下さい!

    下記の表を製作しているのですが、計算式がわかりません。 教えて下さい! 宜しくお願いします。 Sheet1 B列(摘要) E列(入金) F(出金) あああ      100 いいい            200 ううう      300 Sheet2 B列(金額) D列(摘要) 100      あああ 200       いいい 300       ううう Sheet2のD摘要とSheet1のB摘要が同じであれば、Sheet1のE入金・F出金の金額がSheet2のB金額に自動リンクさせたいのです。 Sheet1のEとFに同時に数字がはいることはないです。

  • EXCELのシート間コピーについて教えてください!

    いつもお世話になります。 また、皆様のお知恵をお貸しください。 ブックにSHEET(1)とSHEET(2)があります。 SHEET(1)のD列の1行目から300行程度まで文字列が入力されております。 下記の作業をSHEET(1)のD列の文字列が終了するまでマクロ等を使って自動化したいです。 1    SHEET(2)のD列の1行目から12行目までの文字列をSHEET(2)のB1,B4,B7,B10,E1,E4,E7,E10,H1,H4,H7,H10の順にコピー 2   印刷 3   SHEET(2)のD列の13行目から24行目までの文字列をSHEET(2)のB1,B4,B7,B10,E1,E4,E7,E10,H1,H4,H7,H10の順にコピー 4   印刷 よろしくお願いします。

  • エクセルの自動計算入力がわかりません

    エクセル初心者です。以下のようなイメージで、 生徒が受ける模試あ~うがあり、受ける模試にフラグを立てたら、同時にE列に生徒ごとの合計金額が出るようにするには、E列にどのように入力すればいいですか? 模試の名前と、料金は同じシートのなかに一覧にしています。(一覧表は別シートで作れればなおいいのですが) よろしくお願いします。 A列    B列   C列    D列  E列  氏名   模試あ 模試い  模試う  合計 ○○   1      1            H列   I列 模試あ 2900 模試い 3,000 模試う 2000     

  • Excelの計算式

    同一のファイル内で↓の事をしたのですが、ご意見をいただけませんか? Sheet1; (A列) (B列) (C列) (D列) 1 fileA 10K   ● 対象外 2 fileB 20K ▲ 3 fileC 30K  ×  対象外 4 fileD 40K  ■ . . Sheet2; (A列) (B列) (C列) (D列) 1 fileA 10K   0 n/a 2 fileB 20K   1 ▲ 3 fileC 30K   0  n/a 4 fileD 40K   1   ■  . . 1. (Sheet2)D列の作成です。 Sheet1, Sheet2共に行の並びは例のように順序正しくなくランダムです。 (Sheet1)A列を検索して、同一ファイルが存在すれば、ヒットした行番号の(Sheet1)C列の記号をコピーします。 ただし、(Sheet1)D列が「対象外」のときは、「n/a」をコピーします。 セル(D, 1)の定義ですがエラーになります。 =IF(Sheet2!A1 = Sheet1!A:A, IF(Sheet1!D:D = "", Sheet2!C:C, "n/a") ) 2. (Sheet2)C列の作成です。 今後、(Sheet2)D列と同じデータ項目の列がE,F,G..と増えます。 記号が存在すればカウントして、「n/a」はカウントしません。 汎用的に最終列を検索して、合計を求める方法はございますか? セル(C, 1)の定義はどのようになりますか? 以上 宜しくお願い致します。