No.1
- 回答日時:
通常は年齢計算などで使われる式を使うことでしょう。
例えばA1セルに誕生日、B1セルに評価の年月日とでも入力し、それぞれのデータがA2セルおよびB2セルに入力されているとします。
その時の年齢は次のような式で何年年カ月と求めることができます。
=DATEDIF(A2,B2,"Y")&"年"&DATEDIF(A2,B2,"YM")&"ヵ月"
このような式を使うことのできるのはA2セルに例えば1980/1/21,B2セルには2009/10/14のように年月日が入力されていることが必要です。
お示しのケースではA1セルに5年、B1セルに3年2カ月と入力されている状態でその差を求めるのですから上記の式など全く関係ありませんね。
次のような式になるでしょう。
=DATEDIF(IF(ISERROR(FIND("カ月",B1)),SUBSTITUTE(B1,"年","/1/1"),SUBSTITUTE(SUBSTITUTE(B1,"年","/"),"カ月","/1"))*1,IF(ISERROR(FIND("カ月",A1)),SUBSTITUTE(A1,"年","/1/1"),SUBSTITUTE(SUBSTITUTE(A1,"年","/"),"カ月","/1"))*1,"Y")&"年"&(DATEDIF(IF(ISERROR(FIND("カ月",B1)),SUBSTITUTE(B1,"年","/1/1"),SUBSTITUTE(SUBSTITUTE(B1,"年","/"),"カ月","/1"))*1,IF(ISERROR(FIND("カ月",A1)),SUBSTITUTE(A1,"年","/1/1"),SUBSTITUTE(SUBSTITUTE(A1,"年","/"),"カ月","/1"))*1,"YM")-1)&"カ月"
この回答へのお礼
お礼日時:2009/10/29 06:13
御礼遅れて申し訳ありません。
教えていただいた式複雑で齢70直前の老爺にはちょっと難しすぎます
他の方の式を検討させていただきます。
今後ともご指導ください。
No.2ベストアンサー
- 回答日時:
差は1年10ヶ月の間違いでは?
もし、入力の仕方自体を変えてもよいのであれば
5年を「5」年「0」ヶ月
3年2ヶ月を「3」年「2」ヶ月
のように年数と月数のみを数値で入力すれば計算は簡単になります。
A1を「5」(年)、B1を「0」(ヶ月)
C1を「3」(年)、D1を「2」(ヶ月)とすると
5年を
=A1*12+B1
で「60」(ヶ月)とし
3年2ヶ月を
=C1*12+D1
で「38」(ヶ月)とし
この二つの差を求めて、12で割って整数部分を取り出す
=INT(((A1*12+B1)-(C1*12+D1))/12)
で、差分の年数「1」(年)
この二つの差を求めて、12で割った余りを取り出す
=MOD((A1*12+B1)-(C1*12+D1),12)
で、差分の月数「10」(ヶ月)
が計算できます。
文字列のまま処理しようとするとかなり複雑になります。
A1に「5年」、B1に「3年2ヶ月」が文字列で入っているとすると
C列、D列を作業列として、C1に
=IF(ISERROR(FIND("年",A1)),0,VALUE(LEFT(A1,FIND("年",A1)-1)))*12+IF(ISERROR(FIND("ヶ月",A1)),0,IF(ISERROR(FIND("年",A1)),LEFT(A1,FIND("ヶ月",A1)-1),MID(A1,FIND("年",A1)+1,FIND("ヶ月",A1)-FIND("年",A1)-1)))
と入力してこれをD1にコピー&ペーストすると
C1がA1を月数に換算した「60」
D1がB1を月数に換算した「38」
になりますので、E1に
=INT((C1-D1)/12)&"年"&MOD(C1-D1,12)&"ヶ月"
とすれば、差分「1年10ヶ月」が計算できます。
なお、C1の式は
・A1の文字列から"年"という文字を探し、"年"より前の部分を数値化して12をかけて月数に換算したもの("年"の文字がなければ0)
・A1の文字列から"ヶ月"という文字を探し、"年"という文字があればその次から、なければ最初から"ヶ月"という文字までの部分を抜き出して数値化したもの("ヶ月"の文字がなければ0)
を足したものです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) Excelで時間計算(負) 8 2023/02/26 05:47
- C言語・C++・C# C言語 3 2022/10/04 15:07
- Excel(エクセル) ExcelにてA1セルに1、B1セルに月と入力した際に、A列に日付、B列に曜日が入力される様になる為 1 2023/03/02 06:47
- その他(資産運用・投資) 年利回りの計算方法について 5 2023/01/03 19:38
- その他(職業・資格) 資格取得したけど、意味がない 9 2022/06/01 10:52
- 財務・会計・経理 減価償却(一括償却)について質問です。 ※1月決算の場合(新しい期2月1日から) 7月10日 134 2 2023/08/12 02:21
- Excel(エクセル) 列を自動で追加したい 3 2022/07/11 12:58
- 所得税 所得税の計算方法がわかりません 4 2022/06/26 13:36
- Excel(エクセル) エクセル 条件に合う日付に入力された時間数の合計したい 4 2022/06/17 22:18
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
A1セルに入力したら、入力時間...
-
Excelで同じセルに箇条書きをし...
-
参照先セルに値が入っていない...
-
エクセルで既に入力してある文...
-
IF関数で0より大きい数値が入力...
-
エクセルで時間の判定をしてい...
-
空白でないセルの値を返す方法...
-
yyyy/mm/ddからyyyy/mmへの変換
-
エクセル セルに文字を入力した...
-
エクセルの数式がかぶって、選...
-
Excel:文字と数字の組合せ、次...
-
値を入力後、自動的にアクティ...
-
エクセルで、特定のセルの内容...
-
エクセルの数式で計算結果に文...
-
EXCELのセル上のURLを...
-
excel 関数にて文字を0として認...
-
Excelでセルに入力されたカラー...
-
エクセルで、同じ数値を一気に...
-
ExcelVBAでセルを編集状態にす...
-
【Excel】セル内の時間帯が特定...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
A1セルに入力したら、入力時間...
-
Excelで同じセルに箇条書きをし...
-
参照先セルに値が入っていない...
-
IF関数で0より大きい数値が入力...
-
エクセルで既に入力してある文...
-
Excel:文字と数字の組合せ、次...
-
空白でないセルの値を返す方法...
-
値を入力後、自動的にアクティ...
-
エクセルで時間の判定をしてい...
-
yyyy/mm/ddからyyyy/mmへの変換
-
Excelでセルに入力されたカラー...
-
エクセルの数式がかぶって、選...
-
エクセルで、特定のセルの内容...
-
エクセルで複数の条件で掛け算...
-
マイナス同士の前年比
-
入力したところまでを自動的に...
-
EXCELのセル上のURLを...
-
excel 関数にて文字を0として認...
-
バーコードが読み取れない原因...
-
ExcelVBAでセルを編集状態にす...
おすすめ情報