エクセルの学校


[[20071210155130]] 『経験年数○年△ヶ月を合計したい』(猛暑) >>BOT

[ 初めての方へ | 一覧(最新更新順) |

|
| 全文検索 | 過去ログ | HOME ]

 

『経験年数○年△ヶ月を合計したい』(猛暑)

過去ログを確認しましたが、3つ以上の複数セルの合計がなかったため
よりよい方法があればと思い質問させていただきます。

   A         B         C      D         E          F        G        H        I
 

1 平成12年3月 平成12年8月 6ヶ月  平成14年1月 平成16年11月  2年11ヶ月  平成17年3月  平成19年3月 2年1ヶ月

というように、C1、F1、I1、L1、O1・・・と3つおきに○年△ヶ月となっています。

ちなみに、C1=DATEDIF(A1,B1,"Y")&"年"&DATEDIF(A1,B1,"YM")+1&"ヶ月"とし、以下、F1以降も前二つのセルの経過年数を入力するまではできました。

ここで、このC1、F1、I1、L1、O1・・・と3つおきに○年△ヶ月とあるものを合計したいのです。

AP1までの14個分のセルを合計することになります。

どなたかよい方法をご教授ください。


 練習のため作式しました。どうでしょう?                 (6UP)
 6ヶ月は、0年6ヶ月としています。

 =SUBSTITUTE(TEXT(SUMPRODUCT(N(MOD(COLUMN(C1:AP1),3)=0),
 (0&SUBSTITUTE(SUBSTITUTE(C1:AP1,"年"," "),"ヶ月","/12"))+0),"0年0/12"),"/12","ヶ月")

6UPさん

いつもありがとうございます。
さっそくTryしますね!!!

そして、もう一つ質問があります…すみません。

私の入れた数式で前述のC1=DATEDIF(A1,B1,"Y")&"年"&DATEDIF(A1,B1,"YM")+1&"ヶ月"なのですが…

当たり前ですが、空欄だと0年1ヶ月となります。

1日でも経験すると1ヶ月としたいので、「+1」なのですが空欄だと0にしたいのです。

ISBLANKを使用するのでしょうか?? よろしくお願いいたします。


 別な質問は、解決したあとでされたらどうでしょう?
 また、=DATEDIF()関数は、嫌いですので、回答はしないことにしていますので、あしからず。 (6UP)

ほかの方にお聞きします。6UPさんありがとうございました。

■お願いします■

前述のC1=DATEDIF(A1,B1,"Y")&"年"&DATEDIF(A1,B1,"YM")+1&"ヶ月"なのですが、開始&終了年月が空欄だと0年1ヶ月となります。

1日でも経験すると1ヶ月としたいので「+1」なのですが、経験していない場合は空欄なので0年0ヶ月にしたいのです。

まずは、そこを修正してからセル14個を合計したいと思います。

どなたかご教授お願いいたします。(猛暑)


 >1日でも経験すると1ヶ月としたいので、「+1」なのですが空欄だと0にしたいのです。
 >ISBLANKを使用するのでしょうか?? 
 おっしゃる通りだと思います。

 >C1=DATEDIF(A1,B1,"Y")&"年"&DATEDIF(A1,B1,"YM")+1&"ヶ月" 

 <変更>
 =DATEDIF(A1,B1,"Y")&"年"&DATEDIF(A1,B1,"YM")+1-ISBLANK(A1)&"ヶ月"
                          ↑
                     足しすぎた1を引く(TRUEは1と同じに働きます)
 (半平太)

 考えたら、オリジナルの式は、○年12ヶ月なんてことが起きますよ?

 すごく不思議ですが、これでよさそう。

 C1セル =DATEDIF(A1,EDATE(B1,1),"Y")&"年"&DATEDIF(A1,EDATE(B1,1),"YM")&"ヶ月"

 ※ Edate関数はアドインが必要ですので、
    メニュー[ツール]→[アドイン]→[分析ツール]にチェックを入れて下さい。

 (半平太)

半平太さん

迅速な回答ありがとうございます。さっそくTRYします!!!(猛暑)


半平太さん

ご教授いただきましたように入力したら、完璧にできました!!!ありがとうございます。

■お願いします■

6UPさんの○年△ヶ月を合計するための数式を入力しましたが#VALUE!が出ます。

数式をチェックしましたが、どのように訂正するとよいのかわかりません。

新たな数式or訂正方法がありましたら、どなたかご教授お願いいたします。(猛暑)


 当方の追試では「6UPさんの式」で正常に算出されます。
                     ↓
 AR1セル =SUBSTITUTE(TEXT(SUMPRODUCT(N(MOD(COLUMN(C1:AP1),3)=0),
          (0&SUBSTITUTE(SUBSTITUTE(C1:AP1,"年"," "),"ヶ月","/12"))+0),"0年0/12"),"/12","ヶ月")

 行  ____A____ ____B____ ___C____ ____D____ ___ E ____ ___ F ___  ___AR___
  1  平12年3月 平12年8月 0年6ヶ月 平14年1月 平16年11月 2年11ヶ月  5年6ヶ月

 >どのように訂正するとよいのかわかりません。 
 当初のご質問と「異なるデータ/異なるレイアウト」でしたら、どのように異なっているのかご説明ください。

 (半平太)

 変ですね。こちらでは、期待値が戻っています。
 下のセルにデータを書いて教えてくださいませんか。
 当方は、すべて0年1ヶ月のデータで、1年2ヶ月が戻っています。
 D1、E1など間のセルは、空白か日付値が入力しているものとしています。
 A1
 F1
 I1 
 L1
 O1
 R1
 U1
 X1
 AA1
 AD1
 AG1
 AJ1
 AM1
 AP1

 また、=DATEDIF(A1,EDATE(B1,1),"Y")&"年"&DATEDIF(A1,EDATE(B1,1),"YM")&"ヶ月"は、
 A1に2007/1/29、B1に2007/1/30の場合、0年0ヶ月が戻るようです。     (6UP)


おはようございます。

当初のレイアウトと変更になった点について、記述します。

   A     B    C      D         E         F     G        H        I    J

5 整理番号 名前 場所  経験開始時期  経験終了時期 経験年月  場所 経験開始時期 経験終了時期 経験年月

といったように、なっています。

A5番のB5さんの経験について、C〜F、G〜Jでひとくくりという感じです。これがBC〜BFまで続きます。

この経験年月を合計したいです。

本当に伝わりにくい表現ばかりで申し訳ありません。

***********************************************

6UPさん

>また、=DATEDIF(A1,EDATE(B1,1),"Y")&"年"&DATEDIF(A1,EDATE(B1,1),"YM")&"ヶ月"は、

 A1に2007/1/29、B1に2007/1/30の場合、0年0ヶ月が戻るようです。

本当にその通りでした。ありがとうございます。

もともと、例:平成18年5月を別表で確認して「2006/5」と入力しておりました。

提出書類自体が「昭和○年△月」「平成○年△月」という記述にしているため、問題なさそうです。

次回、日にちまで確認する場合に参考にさせていただきます。ありがとうございます。(猛暑)


 回答の確認は、ご自分の提示したもので行うようお願いします。
 新たなご質問では、このようなことでは、ないでしょうか?

 =SUBSTITUTE(TEXT(SUM(IF(MOD(COLUMN(F1:BF1),4)=2,
 (0&SUBSTITUTE(SUBSTITUTE(F1:BF1,"年"," "),"ヶ月","/12"))+0)),"0年0/12"),"/12","ヶ月")
 として、Ctrl+Shift+Enter。    

↑↑↑上記の方、回答ありがとうございます。

コピペすると…0年0ヶ月がでてきます。。。(猛暑)


 各セルの値をここに書いて教えてください。                 (6UP)

D5 平成12年4月

E5 平成15年9月

F5 3年6ヶ月

H5 平成15年10月

I5 平成17年9月

J5 2年0ヶ月

L5 平成17年11月

M5 平成18年2月

N5 0年4ヶ月

P5 平成18年4月

Q5 平成19年5月

R5 1年2ヶ月

です。
6UPさん、何度もすみません。ありがたいです。

よろしくお願いいたします。(猛暑)


 =SUBSTITUTE(TEXT(SUM(IF(MOD(COLUMN(F5:BF5),4)=2,
 (0&SUBSTITUTE(SUBSTITUTE(F5:BF5,"年"," "),"ヶ月","/12"))+0)),"0年0/12"),"/12","ヶ月")

 7年0ヶ月と表示しています。

 数式入力後Enterの代わりにCtrl+Shift+Enterは、実行していますね。        (6UP)

6UPさん

完成しました!!ありがとうございます。感謝いたします!!!

ここで、レベルアップのための質問なのですが・・・

=SUBSTITUTE(TEXT(SUM(IF(MOD(COLUMN(F5:BF5),4)=2,(0&SUBSTITUTE(SUBSTITUTE(F5:BF5,"年"," "),"ヶ月","/12"))+0)),"0年0/12"),"/12","ヶ月")

の(COLUMN(F5:BF5),4)=2の、「4」は4列おきということで、なんとかわかったのですが

「2」は何を意味するのでしょうか・・・何度もすみません。(猛暑)


 数値にした列番号を4で除し、除余が2の列というつもりで書いています。  (6UP)

6UPさん

お馬鹿な私にもう少しわかりやすく説明していただけるとうれしいです。

除余は%のことですよね??

そこからは、私にとっては異次元です。よろしくお願いいたします。(猛暑)


 「除余」は、除算の余りの意味で書きましたが、誤字で、剰余です。
 関数の説明は、ヘルプで親切で丁寧な説明がご覧になれます。
 課題は、解決されていますので、この辺で失礼させていただきます。 (6UP)

6UPさん

長らくお付き合いいただきありがとうございます。

みなさま今後ともよろしくお願いいたします。(猛暑)


コメント:

[ 一覧(最新更新順) |

]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.