OCNのモバイルに新コース登場!キャンペーン続々開催中

ピボットテーブルで列ラベルに1月から12月までデータのない月も表示したいのです。列ラベルに持ってきた項目は、データベースで入力された日付を以下の関数で隣のセルに26日始まり25日締めに直して表示した月、名づけて”計上月”です。
=IF(A1=0,"",IF(DAY(A1)>=26,YEAR(A1)&"年"&MONTH(A1)+1&"月",YEAR(A1)&"年"&MONTH(A1)&"月"))。
たとえば1月25日は”1月”、1月26日は”2月”と表示されます。
列ラベルのフィールドの設定で、「データのないアイテムを表示する」にチェックをつけても、データのあるアイテムしか表示されません。どうしたらうまくいきますか?

A 回答 (1件)

>データのあるアイテムしか表示されません。

どうしたらうまくいきますか?
計上月
2008年2月
でなく
計上年 計上月
2008年 2月
と別セルにすれば、過去に1月~12月が存在すれば、
「データのないアイテムを表示する」で表示されます。
上記でなければ計上月のダミーレコードを用意してください。

数式の方ですが12月の時に翌年の1月でないといけないのでは?
=TEXT(IF(A1=0,0,DATE(YEAR(A1),MONTH(A1)+1,DAY(A1)-25)),"YYYY年M月;;") 
    • good
    • 0
この回答へのお礼

本当だ、私の関数だと2008/12/26は2008年13月になってしまいました。
やはり、ダミーレコードを用意しないと難しいようですね。ありがとうございました。

お礼日時:2008/02/22 09:51

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

このQ&Aを見た人はこんなQ&Aも見ています

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

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

QExcelで列の項目を固定して集計するには?

以下のような集計元の表(1)から、集計表(2)を作成することはできないでしょうか?
このとき、集計表の列の項目(a、b、c)は固定したいのです。
(Lotus1-2-3では、dsum関数(と何かの機能)を使うとうまく作成できたような気がするのですが・・・)

集計元の表(1)
b 100
c 50
c 200
a 25
b 300

集計表(2)
a 25
b 400
c 250
 

Aベストアンサー

No1です。
SUMIF関数を使うことになりますね。
集計表(2)
 A B
 a 
 b 
 c 
と事前にa~c入れておいて、B1セルに =SUMIF(集計元!A:A,A1,集計元!B:B)
といれて下までコピィします。

或いは、集計元に
a 0
b 0
c 0
とダミーのデータ入れておいて非表示にしておく方法も有りかと思います。

QExcel > ピボットテーブル「(空白)」非表示

Excel 2003 で、ピボットテーブルを利用した際、元データにて未入力のセルは、ピボットテーブルでは「(空白)」と表示されてしまいます。

これを、任意の文字列や、空白のまま表示(「(空白)」を非表示)にする方法はありますか?

空白セルそのものを非表示する方法は、ピボットタイトル行の▼で「(空白)」をチェックオフすれば消えますが、これでは関係する行の他列も非表示になってしまいます。

ただ「(空白)」ではく、空白のまま表示したいだけなのですが、その方法が分かりません。

宜しくお願い致します。

Aベストアンサー

ピボットテーブルの行や列フィールドの「アイテム」(個々の「あ」や「い」,「A」「B」「1・2・3」,「(空白)」も同じ)は,作成したピボットテーブルの中で「(アイテムの)キャッシュ」として保持されています。
実際今回の「(空白)」だけでなく,たとえば列Bフィールドのアイテム「1」1セルを「1個」と書き換えてみると,レポート上のアイテム1が全部1個と表記されます。
レポートで行列アイテムを直接書き換えることで,キャッシュの中で「元データの1 = アイテム表記は1個」というデータを保持し,以後それを使って表示してくれるためです。


#余談ですが,たとえば「四半期」で日付をグループ化すると,エクセルでは1月から3月が第1四半期として集計されます。
これを日本の四月からの会計年度に合わせて「1-3月」は第4四半期に,そして「4-6月」を第1四半期として集計させたいような場合にも,この方法を利用することができます。

Qピボットテーブルレポートの行ラベル、空白について

(エクセル2007使用)
レポートをあらかじめシートに作成しておき、元データに空白行がある状態で更新すると、レポートの行ラベルに(空白)という項目が自動的表示されます。フィールド項目内にあるフィルターで空白のチェックを外せば消えるのですが更新回数が多いため、最初から(空白)が出てこないようにしておきたいと思うのですがどうしたらいいのでしょうか。
もし簡単な設定がない場合は、元データは触らずに非表示状態で更新できる簡単なマクロでも結構です。よろしくお願いいたします。

Aベストアンサー

>フィールド項目内にあるフィルターで空白のチェックを外せば消えるのですが更新回数が多いため、最初から(空白)が出てこないようにしておきたいと思うのですがどうしたらいいのでしょうか。

空白セルがあるのに、この集計を最初から(ピボットテーブル作成時点で)無視する設定はありません。

単純に、テーブル作成後、手動フィルタで「空白」のチェックを外して、データの更新を行えば、その後は空白セルセルが集計されずに表示されると思うのですが、この操作ではどの部分が不都合なのでしょうか?

QExcleピボットでデータのない部分も時系列で表示したい

初めて質問いたします。同様の質問が既にあったらすいません。
たとえば、
4/1  100
4/3  200
4/7  150
といったデータがあるとします。
このように日付の抜けた時系列データをピボットテーブルで集計する際、ピボットですと自動的に空白部分を詰めてしまいます。
これを「データがないときは、ないときで4/1~4/7まで連続で表示したい。」と思っているのですが、手作業で「データのない日を特定して、空のデータをフィールドに入力する」作業は煩雑です。
どのようにすればピボットで自動的に空のデータも時系列で連続して表示できますでしょうか?
もし原理的に無理なようでしたら、そのような機能が付いている同様のソフトをお教えいただくと助かります。(マクロなどはよくわかってないので…。)
どうぞよろしくお願いします。

Aベストアンサー

こんにちは。

日付のグループ化とフィールドの設定で「データのないアイテムを表示する」をチェックしては如何でしょうか?

日付のフィールド名を右クリック
 グループ化と詳細の表示>グループ化
  日と月を反転表示させてOK
日付のフィールド名をダブルクリック
 データのないアイテムを表示するにチェック>OK

対象の日付の年間の月と日が表示されますから、必要なデータのみ表示できるように絞り込みます。

なお、日付のグループ化は、データの範囲が適切に指定(日付の範囲に空白セルや他の種類のデータがない)されていないとグループ化できません。

Qエクセル:マクロ「Application.CutCopyMode = False」って?

エクセルのマクロを記録していると

「Application.CutCopyMode = False」

というものがよく出てきますが、これは何でしょう?
どういう意味のものかわかりません。
削除しても差し支えないのもでしょうか?

Aベストアンサー

「Application.CutCopyMode = False」の前で
セルのコピー、または切り取りを行っていると思います。
これは、その操作(セルのコピー、または切り取り)を無効にしているだけです。
------------
Range("A1").Select
Selection.Copy ← これを無効にしている
Range("A2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
------------
上記の場合であれば、「Application.CutCopyMode = False」を削除しても問題ありませんが、
以下の場合、貼り付け処理でエラーになります。
------------
Range("A1").Select
Selection.Copy
Range("A2").Select
Application.CutCopyMode = False
ActiveSheet.Paste ← ココでエラー
------------
ご自分で、セルをコピーしてみると分かると思いますが、コピーした範囲が点線で点滅されます。
「Application.CutCopyMode = False」をすると、
その点滅がなくなります。

「Application.CutCopyMode = False」の前で
セルのコピー、または切り取りを行っていると思います。
これは、その操作(セルのコピー、または切り取り)を無効にしているだけです。
------------
Range("A1").Select
Selection.Copy ← これを無効にしている
Range("A2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
------------
上記の場合であれば、「Application.CutCopyMode = False」を削除しても問題ありませんが、
以下の場合、貼り付け処理でエラーになります。
------------
...続きを読む

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すると関係ないセルの値が返るので、
場...続きを読む

QSUMIF関数で、「ブランク以外を合計」を指定したい

SUMIF(範囲,検索条件,[合計範囲])
の、検索条件部分に、
「セル内に数字、文字をとわず、とにかく何か入力されていたら合計する」
といった意味合いの条件を指定したいのですが、その方法がわかりません。

画像で説明させていただくと、
A2のセルにSUMIF関数を用いて、
文字が入力されているc,d,e列の数値を合計し、
90という結果が欲しい、ということです。

どなたかご教授をお願いいたしますm(__)m

Aベストアンサー

こんばんは。

なんか皆さん難しく考えすぎのような・・・
SUMIF関数でできますよ。検索条件を空白以外とすればいいだけです。
=SUMIF(B2:F2,"<>",B1:F1) でできます。

Qエクセルのピボットで、集計値降順で表示するには?

お世話になります。
エクセルのピボットテーブルで、担当者ごとの売上集計表を作成しています。ウィザードで、「行(R)」に担当者名、「データ(D)」に合計/売上をいれています。

名前の順ではなく、売上集計額の高い順に表示することはできますか?
今はピボットテーブルから値貼り付けして
普通の表にしてから並べ替えています。
よろしくお願い致します。

Aベストアンサー

担当者を売上集計額順ですか?
標題の担当者名のセル(ボタン状になっている)でダブルクリックして詳細をクリック
「自動並べ替えオプション」で降順を選択して、
「使用するフィールド」を「売上集計額」にしてください。

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エクセルのリンク解除ができない場合の対処

症状としては、時々ある事なのですが、エクセル(2003)でファイルのリンクを
編集→リンクの設定→リンクの編集→リンクの解除
をしても解除されない症状を解決するにはどうしたらよいでしょうか?
因みに外部リンクで、sumifやvlookupなどを使用しています。
また、列の非表示や、ソートでの行の非表示などはよく多用しています。
上記が起因しているかどうかは不明です。
ご存知の方いらっしゃいましたら、是非ご教授お願いします。

Aベストアンサー

名前の定義の中の参照範囲にリンク先が含まれていませんか。

エクセル2003は使っていないので、エクセル2000の場合を説明します。

「挿入」→「名前」→「定義」の「参照範囲」を確認して、リンクが含まれていれば削除して見て下さい。

リンクが含まれて無ければ、別問題ですので他の方の回答を待って下さい。


人気Q&Aランキング