マンガでよめる痔のこと・薬のこと

タイトルのとおりなんですが、例えばどこかのセルに2003/1/1と入力します。
そして、別の表の中で日割り計算をしたいので、2003年1月なら「31」という数字を別のセルに持ってきたいんです。
こんなことってできますか?

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

A 回答 (3件)

関数を使えば出来ると思います。


月の日数=(翌月の初日)-1と考え、

A1に2003/1/1が入っているとします。
日数を表示したいセルに、

=DAY(DATE(YEAR(A1),MONTH(A1)+1,1)-1)

で、できると思います。
    • good
    • 3
この回答へのお礼

ありがとうございますっ。
できましたっ!

お礼日時:2003/01/30 13:01

EOMONTH関数を使えば可能かと思います。


例えばセルA1に「2003/1/1」と入っているとして、セルB1に「31」と表示させたい場合は、セルB2に「=EOMONTH(A1,0)」と入力します。
ただしEOMONTH関数を使用するには、メニューバーのツール-アドインの「分析ツール」にチェックが入っていないと使用できません。
    • good
    • 9
この回答へのお礼

ありがとうございました。
これも参考になりました。

お礼日時:2003/01/30 13:03

もし、年月日として取得されたいのならば、


2003/1/1が入力されているセルをA1と仮定しますと、

=DATEVALUE(YEAR(A1)&"/"&MONTH(A1)+1&"/"&1)-1

と言う数式でokですよ。これで2003/1/31となります。

考え方としては、A1から年と月を算出して、月は1を足します。そして日を1で固定します。これらを"/"を間に挟んで連結すると次月の1日(この場合2003/2/1)を文字として取得できます。後はこれをシリアル値(Excelでは日付を数値として管理しています)に変換してから1(日)引けば、必ずA1に入力された日付の月末になります。
    • good
    • 0
この回答へのお礼

ありがとうございます。
No.1の人とは意味が違うんですがわかりました。
ありがとうございます。

お礼日時:2003/01/30 13:02

このQ&Aに関連する人気のQ&A

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

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

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

QExcel関数で指定した年月の月初と月末を表示させたい

いつもお世話になります。

表題の件ですが、下記例のように表示させたいと考えています。

例:2009/03/09 ← 指定
 ・月初:2009/03/01  ← 表示
 ・月末:2009/03/31  ← 表示

仮に指定した日付をA1として、どのような関数構成を
組み立てたらいいか、ご教授の程宜しくお願い致します。

Aベストアンサー

例えばA1に日付が入っているとして
月初であれば
=DATE(YEAR(A1),MONTH(A1),1)
月末であれば
=DATE(YEAR(A1),MONTH(A1)+1,1)-1
でどうでしょうか。

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

Qエクセル 日割り料金計算をしたい

Excel 2000で日割り料金の計算業務をしています。
業務を簡単する方法を伺いたく、質問をします。

行は200~300行あります。

・A列に2005/8/X(日にち)
 があらかじめ入力されています。
・B列に=INT((30-X+1)*6500/30)
 の計算結果の金額を求めます。

A列のX(日にち)を見て、B列のXを手打ちで
入力をして計算していますが、面倒です。

手打ち入力せず、計算結果を入力する方法は
ないでしょうか?

よろしくお願いします!!

Aベストアンサー

例えば、A1が 2005/9/13なら
=DAY(A1)で13が取り出せます。
これをB列の式と組み合わせて、
=INT((30-DAY(A1)+1)*6500/30)
で、いかがでしょう。

Q月の日数を知る方法

いつもお世話になっております。

VB6を使っているのですが、例えば10月が何日まであるのかを
計算するいい方法はないでしょうか?
月末が何日になるのかを知りたいのです。

どうかよろしくお願いいたします。

Aベストアンサー

こんにちは。こんな感じかと。

  Dim myDate As Date
  Dim YY As Integer
  Dim MM As Integer
  
  YY = 2006
  MM = 10
  
  myDate = DateSerial(YY, MM + 1, 0)
    
  MsgBox CStr(YY) & "年" & CStr(MM) & "月の末日は" _
      & Format$(myDate, "yyyy/m/d") & "です。"
  MsgBox "あとはDay 関数で日を求めると..." _
      & CStr(Day(myDate))

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい

Qエクセルの関数でその年のその月の合計日数を自動で求めることはできますか

エクセルの関数でその年のその月の合計日数を自動で求めることはできますか?

例えばA1に  2010/10/4(日にちは適当な日数です) 

等と入力されていたら

B1に自動的に  31と表示される。


A1に2010/9/7

等と入力されていたら

B1に自動的に  30と表示される。


また2月の28日やうるう年の29日も考慮してくれるようにしたいのですが・・・。

Aベストアンサー

考え方としては当該の月の翌月の1日の前の日が何日であるかを表示させればよいことになります。

>A1に2010/9/7
だとすると
B1=DAY(DATE(YEAR(A1),MONTH(A1)+1,1)-1)
でいかがでしょうか。

Qエクセルで条件に一致したセルの隣のセルを取得したい

下のような「得点」という名前のシートがあります。
(「田中」のセルがA1です。)

 [ 田中 ][ 10 ][ 200 ]
 [ 山田 ][ 21 ][ 150 ]
 [ 佐藤 ][ 76 ][ 250 ]
 [ 鈴木 ][ 53 ][ 350 ]

別のシートのA1セルに、「佐藤」と入力すると、

 [ 佐藤 ]

「得点」シートから「佐藤」の列を見つけて、B1、C1に

 [ 佐藤 ][ 76 ][ 250 ]

のように表示させたいのですが、B1、C1にはどのような式を書けば良いのでしょうか。
「得点」シートでは氏名が重複する事はありません。
IF文を使うと思うのですが、いまいち良く分かりませんでした。

よろしくおねがい致します。

Aベストアンサー

こんにちは!
VLOOKUP関数で対応できます。
IF関数と併用すればエラー処理が可能です。

Excel2007以降のバージョンであれば
B1セルに
=IFERROR(VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0),"")
としてC1セルまでオートフィルでコピー!
そのまま下へコピーすると行が2行目以降でも対応できます。

Excel2003までの場合は
=IF($A1="","",VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0))

としてみてください、m(_ _)m

Qある範囲のセルから任意の値を検索して、その隣のセルの値を取得するという関数はありますか?

Excelの関数について質問します。
ある範囲のせるを検索して、その隣のセルの値を取得するという関数を探しています。
なければユーザー定義で作りたいと思っています。
VLOOKUP関数では一番左端が検索されますが、
それをある範囲まで拡張して、
その右隣の値を取得できるようにしたいのです。
どうかお知恵をお貸しください。

Aベストアンサー

●X1セルの値を範囲A1:F200の中から探して、その右隣のセルの値を返す

 =OFFSET(A1,SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1))-1,SUMPRODUCT(COLUMN(A1:F200)*(A1:F200=X1)))

※最初のA1はワークシートの左上隅を示すものなので、検索範囲に関わらずA1固定
※SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1)) ⇒ A1:F200で値がX1と一致するセルの行番号

>その「ある範囲」の中には検索したい値が入っているセルは1つしかありません。
というのが前提です。複数のセルがHITすると関係ないセルの値が返るので、
場合によっては、IFをかぶせてCOUNTIFで確認した方が良いかもしれません。
 ex. =IF(COUNTIF(A1:F200,X1)=1,【上記数式】,"えらー")

ちなみに、VBAでやるならこんな感じになるかと。

動作の概要
 【検査範囲】から【検査値】を探し、
 最初にHITしたセルについて、右隣のセルの値を返す。
 ex. =Sample(X1,A1:F200)

'--------------------------↓ココカラ↓--------------------------
Function Sample(ByVal 検査値 As Variant,ByVal 検査範囲 As Range)
 For Each セル In 検査範囲
  If セル = 検査値 Then Exit For
 Next セル
 Sample = セル.Offset(0, 1)
End Function
'--------------------------↑ココマデ↑--------------------------

いずれもExcel2003で動作確認済。
以上ご参考まで。

●X1セルの値を範囲A1:F200の中から探して、その右隣のセルの値を返す

 =OFFSET(A1,SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1))-1,SUMPRODUCT(COLUMN(A1:F200)*(A1:F200=X1)))

※最初のA1はワークシートの左上隅を示すものなので、検索範囲に関わらずA1固定
※SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1)) ⇒ A1:F200で値がX1と一致するセルの行番号

>その「ある範囲」の中には検索したい値が入っているセルは1つしかありません。
というのが前提です。複数のセルがHITすると関係ないセルの値が返るので、
場...続きを読む

QExcelで日別に入力されたデータを月別に集計するにはどうしたらいいのでしょうか。

Excelで月別の集計をしたいのですが
例えば
  日付    数量
10月25日  200
10月27日  150
10月30日  120
11月 1日  200
11月 3日  150
のように、日付が飛び飛びで連続していなくい日々の数量を、上の行から順番に入力していった場合に(月が替わる行が決まっていない)月別の集計を取る方法はないでしょうか。


 

Aベストアンサー

どのように集計する月を指定するのかが書かれていませんが、例えば11月分の合計を出したいなら

1)11月までの合計から10月までの合計を引く方法
 =SUMIF(A:A,"<=11/30",B:B)-SUMIF(A:A,"<=10/31",B:B)

2)月が「11」のB列を合計する方法
 =SUMPRODUCT((MONTH(A2:A100)=11)*(B2:B100))

なども考えられます。

でもエクセルなら一番オーソドックスな方法はピボットテーブルでしょう。C列に
 =TEXT(A1,"YYYY/MM")
で「2008/11」のような文字列を生成しておいてピボットテーブルで集計すれば、シート上にある全ての月の合計が一発で求められます。
ピボットテーブルの使い方はGoogleなどで検索したらたくさん見つかります
http://www.viplt.ne.jp/tomy/pibot.html

Qエクセルでの指定文字 カウントについて

エクセルで並んだデータでの指定した名前だけの個数をカウントするにはどうすればいいのでしょうか?

山田 高橋 佐藤
高橋 梅田 赤田
 西 山田 梅田
佐藤 山田 梅田

名前が並んだデータで「高橋」という名前が何個あるのかをカウントしたいのですがどうすればいいのでしょうか?

Aベストアンサー

 データは入力されているセルの範囲を「A1:C4」とすれば、

=COUNTIF(A1:C4,"高橋")


人気Q&Aランキング

おすすめ情報