出産前後の痔にはご注意!

エクセルのデータからワードの納品書フォーマットに差し込み印刷したいのですが。。

ワードで作成した明細表の最下行に合計した金額5832円(セルE12)があって、
さらに表の上のほうにも合計金額を大きく表示させたい為、
合計金額(上部)にセル番地指定{ =E12 }で入力しましたが、
”個々のドキュメントの編集”で作成された1枚目の合計金額(上部)は0円となってしまいます。

そしてなぜか次の2枚目の合計金額(上部)には、
1枚目の合計金額5832円が表示されています。
3枚目の合計金額(上部)には2枚目の分の合計金額7214円が表示されます。

どこをどう直せばこの合計金額が正しく表示されるか教えていただけるとありがたいです。。。

エクセルで消費税と合計金額を先に計算できればてっとり早いのでしょうが、VBAもマクロもまったくわからない素人で・・・
このフィールドコードなども色んなサイトの見よう見まねで何とかここまでたどり着いたのに、
最後の最後でまったく歯が立たないのでどなたかご教示お願いします。m(_ _)m

「納品書をエクセルのデータから差し込み印刷」の質問画像

質問者からの補足コメント

  • 上部の合計金額が見に行っているセルは、エクセルからの差し込みデータではなく、
    ワード内の同じ表の中の番地なんですが・・
    (左上の合計金額をa1、金額タイトルのセルをe4と数えています)

    間のNextRecordIfの影響で改ページされてしまう、というような可能性はありますか?

    セル番地ではなく、下部の合計金額にブックマークで、合計 と名前をつけて{=合計}で呼び出してもみたんですが、
    そのときは何も表示されず、次のページにも何も表示されなくなりました・・

    No.1の回答に寄せられた補足コメントです。 補足日時:2019/02/19 07:54
  • 数式の場合、グループごとに計算するというところが私にはハードルが高くて…
    具体的にどういった数式でできるか教えていただけないでしょうか?
    (データ件数は多いので各グループごとに手作業でというのは除外でお願いします)

    イメージとしては下記の小計・消費税・合計欄に
    数式で計算させられたらいいのかなと思うのですが。。。

    納品先名 商品名 数量 単価 金額 小計 消費税 合計
    納品先1 りんご 1  100 100 600  48  648
    納品先1 みかん 2  100 200 600  48  648
    納品先1 ぶどう 3  100 300 600  48  648
    納品先2 りんご 4  100 400 900  72  972
    納品先2 みかん 5  100 500 900  72  972

    No.2の回答に寄せられた補足コメントです。 補足日時:2019/02/19 08:21

A 回答 (5件)

差し込み印刷の[個々のドキュメントの編集]での新規ファイル先で


すべて選択してから[フィールドの更新]をしていますか?

これで更新結果が正しくないとしたら、NextRecordIfの影響なのか
判断はできませんが、たぶん関係ないと思います。
質問の添付画像だと表の上に納品書などの通常の段落があるので、
[個々のドキュメントの編集]の編集で開いた文書では、ページ単位
(セクション区切り単位)として表ごとの関係がないはずです。
なので、E12セルの参照先は個々の表ごとになるはずですから。

単純なレイアウトでのNextRecordIfを使ったもので試してみても、
個別の表であれば[フィールドの更新]でそれぞれの表にある値での
参照を個別のA1セルで表示できましたよ。
    • good
    • 0
この回答へのお礼

>差し込み印刷の[個々のドキュメントの編集]での新規ファイル先で
>すべて選択してから[フィールドの更新]をしていますか?

新規ファイルができた時点で更新されているのかと思ってました!(汗)
すべて選択してフィールドの更新することで上部の合計金額も正しい金額に表示されました!
ありがとうございましたm(_ _)m

お礼日時:2019/02/19 15:07

No.4の回答者です。


追加補足です。

印刷の[個々のドキュメントの編集]で差し込まれた新規文書先は、
NextRecordIfなどの差し込み関係の[フィールドコード]として残る
ことはありません。データのみしかないということですね。

計算式などの[フィールドコード]については、差し込み先でも同じ
内容で残っています。

ですから、差し込み先でフィールドの更新をすることで、参照する
セルの値が正しくなるということになります。
    • good
    • 0

小計の部分にだけSUMIF関数を使えば後の消費税と合計は掛け算や足し算でできますよね?



合計部分や消費税部分を差し込むことができれば、上の合計も差し込みでできるかと思います。
    • good
    • 0
この回答へのお礼

SUMIF関数とVLOOKUPで何とか小計に入れることができました!

本当に勉強不足でお恥ずかしい限りです。。。
ありがとうございましたm(_ _)m

お礼日時:2019/02/19 15:11

>エクセルで消費税と合計金額を先に計算できればてっとり早いのでしょうが



はい。エクセルで先に計算しておいてそのデータを差し込む方がいいと思いますよ。
別にマクロもVBAも必要ないですが。数式でやればいいのでは?
この回答への補足あり
    • good
    • 0

差し込み印刷するデータの範囲を間違えたなんてことはありませんか?

この回答への補足あり
    • good
    • 0

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

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

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

Q[Excel Word 2007] 柔軟な差込印刷を行いたい

環境:Office2007,管理者権限なし
ExcelVBA:数ヶ月の経験あり WordVBA:経験なし

目的:差込印刷の一連処理の自動化

ファイル群
----------------------------------------------------------------------
①Excel側の差込用シート
 列A:氏名(str) 列B:値1(int) 列C:値2(int)
②Word側ファイル
 [i]: [出力_表あり.Word]・・・(列B>0 & 列C>0)である行 が対象
               A:通常差込、BとC:用意した表内に差込
 [ii]: [出力_表なし.word]・・・[i]に該当しない行 が対象
               A,通常差込 BとC:0以上のデータを通常差込
----------------------------------------------------------------------

現在、①の列B,列Cの値に応じた②のWordファイル[i],[ii]を用意
手作業でそれぞれ差込しています
 (②の各Wordを開く→宛先の選択(①)→アドレス帳の編集→差込印刷→レターを保存)
条件ごとにWord側のテンプレがあり、表のA,B欄を空白にする類の方法は許可されていません


ここで質問なのですが、これらの処理の自動化は可能でしょうか?
----------------------------------------------------------------------
[理想1]:Wordは1ファイルに統合、[i],[ii]の条件に応じ表を(作成and削除)or(非表示and再表示)
    差込印刷から保存までの自動化 (出力レター分割の必要なし)
[理想2]:Wordは2ファイルのまま、宛先の選択→アドレス帳の編集の自動化
----------------------------------------------------------------------

実情として、実務での条件分岐はより複雑で、それに応じたWordも多い為、手作業での条件分岐処理のミスが怖い状況です。例外状況も頻繁に発生する為、[理想1]は変更処理が面倒で現実的では無いかも知れません

WordVBAの知識が無く、曖昧な質問となってすみません。ヒントだけでも頂けたら幸いです
一部処理の自動化や、別方向での解決策もあれば、ぜひご教授ください

以上、よろしくお願いいたします

環境:Office2007,管理者権限なし
ExcelVBA:数ヶ月の経験あり WordVBA:経験なし

目的:差込印刷の一連処理の自動化

ファイル群
----------------------------------------------------------------------
①Excel側の差込用シート
 列A:氏名(str) 列B:値1(int) 列C:値2(int)
②Word側ファイル
 [i]: [出力_表あり.Word]・・・(列B>0 & 列C>0)である行 が対象
               A:通常差込、BとC:用意した表内に差込
 [ii]: [出力_表なし.word]・・・[i]に該当しない行 が対象...続きを読む

Aベストアンサー

普通の差し込み印刷をVBAで処理することから始めてはいかが。
そうしないと、条件を付けるだけでも大変だと思うので。
https://support.microsoft.com/ja-jp/help/285332/how-to-automate-word-with-visual-basic-to-create-a-mail-merge
https://docs.microsoft.com/ja-jp/office/vba/api/word.mailmerge
http://www.fastclassinfo.com/entry/vba_word_control

VBAでの処理をする前に、私ならIFフィールドを使って条件処理を
しますね。
[アドレス帳の編集]での処理をしないで済みますので。

[アドレス帳の編集]での編集作業を希望するなら、[マクロの記録]
をとってから、必要な部分のみ活用するようにしたほうが簡単だと
思いますよ。

QExcelについての質問です。

Excel初心者です。
給与計算表を作成していて、調べてもわからないので誰か教えてください。

・17:00~17:07までは17:00で表示。
・17:08~17:15までは17:15で表示。
・17:15~17:22までは17:15で表示。

このように表示させる事は可能でしょうか?
ご教示お願い致しますm(__)m

Aベストアンサー

=MROUND(A9,"0:15")

Qセルにある文字列によって計算式を変えたい

下記のような【表A】と【表B】があります。
【表A】の期限の列(C列)に計算式を入れたいのですが、商品(B列)によって結果を変えたいです。
【表B】のA列にある商品は「A2+7」、B列にある商品は「A2+3」という結果を出したいのですが、
 どういう計算式を入れればいいでしょうか。

【表A】
 A B C
購入日 商品  期限
-------------------------------
2/1  りんご 購入日+7日
2/1  みかん 購入日+7日
2/1  なし 購入日+7日
2/1  豚肉 購入日+3日
2/1  鶏肉 購入日+3日
2/1  トマト 購入日+7日
2/1  牛肉 購入日+3日

【表B】
A B
期限7日 期限3日
-------------------------------
りんご 豚肉
みかん 鶏肉
なし    牛肉
トマト 鮭

宜しくお願い致します。

Aベストアンサー

私も考えてみました。
B表そのものを活かすようにした場合に限りますが、

シート1
=SUMPRODUCT((Sheet2!$A$1:$C$5=B2)*{7,3,1})+A2
A1:C5 は、データ範囲

シート2
期限7日 期限3日 期限1日 (ひとつ加えてみました)
りんご  豚肉  サバ
みかん  鶏肉 
なし   牛肉 
トマト  鮭 

該当するものがないと、戻り値は「0」になってしまいますから、気をつけてください。
  
----------------

Qエクセル リストと完全一致するセルに色をつける

シート1のA列とB列に
aaa ccc
bbb ggg
ccc kkk
ddd ooo
と言うリストがあって、A1〜A4はAチーム、B1〜B4まではBチームと名前を付けています
シート2にAチームのリスト4個が続いているものがあればセルを赤、Bチームのリスト4個が続いているものがあればセルを黄色に塗りたいです
AチームとBチームの中には同じ品番がある時もあります
条件付き書式で設定は出来るでしょうか?

Aベストアンサー

(´・ω・`)
”○” の数を数えるんじゃないんだよなあ。

・・・本題・・・

条件付き書式ですよね。

シート2のリストの並び順は
 aaa
 ccc
 bbb
 ddd
では「Aチーム」と認識しないという事でよろしいでしょうか?
ならば、とても簡単です。

シート2の一覧において、

 判定するセル1
 判定するセル2
 判定するセル3
 色を付けるセル
 判定するセル4
 判定するセル5
 判定するセル6

という範囲について調べれば良いという事。

 判定するセル1
 判定するセル2
 判定するセル3
 色を付けるセル

 判定するセル2
 判定するセル3
 色を付けるセル
 判定するセル4

 判定するセル3
 色を付けるセル
 判定するセル4
 判定するセル5

 色を付けるセル
 判定するセル4
 判定するセル5
 判定するセル6

の4パターンについてそれぞれ調べれば良いだけ。

自分なら
 aaa-bbb-ccc-ddd
のようにシート1から文字列を作り、それが調べるセルで同じパターンになるかを調べます。
シート1はA5セルから、シート2はA11セルからデータが入力されているなら、

 シート1!A5 & シート1!A6 & シート1!A7 & シート1!A8 = A11 & A12 & A13 & A14
 シート1!A5 & シート1!A6 & シート1!A7 & シート1!A8 = A12 & A13 & A14 & A15
 シート1!A5 & シート1!A6 & シート1!A7 & シート1!A8 = A13 & A14 & A15 & A16
 シート1!A5 & シート1!A6 & シート1!A7 & シート1!A8 = A14 & A15 & A16 & A17

という条件になる。
この4つのうちの一つでも条件を満たせばセルに赤色を付ければいい。
「Bチーム」についても同様にすればいいので、
この場合、8つの条件式を設定することになります。

面倒でもこの考え方ができていないと、ちょっと条件が変わっただけで対処できずに終わります。
冒頭で「並び順」について書きましたが、並び順がシート1のリストの通りでなくとも色を付けたい場合でも、この考え方は必要ということです。

・・・
ちなみに厄介なのが、どちらのチームにも「ccc」がいるというところかな。
これが無ければ違う方法でシンプルにできるんですけどねえ。

(´・ω・`)
”○” の数を数えるんじゃないんだよなあ。

・・・本題・・・

条件付き書式ですよね。

シート2のリストの並び順は
 aaa
 ccc
 bbb
 ddd
では「Aチーム」と認識しないという事でよろしいでしょうか?
ならば、とても簡単です。

シート2の一覧において、

 判定するセル1
 判定するセル2
 判定するセル3
 色を付けるセル
 判定するセル4
 判定するセル5
 判定するセル6

という範囲について調べれば良いという事。

 判定するセル1
 判定するセル2
 判定するセル3
 色を付け...続きを読む

QExcelの「0」だけ非表示、小数点の0.~は表示したいのですが、どうすればいいのでしょう。

EXCELの一部のセルだけ「0」だけ非表示
小数点の0.1などの0.は表示したいです。

ご存知の方がいらっしゃいましたら、何卒ご協力おねがいします!!

Aベストアンサー

ワークシート上で Ctrl+A をチョーンしてワークシート全体を選択状態にする ⇒ ワークシート上でマウスの右クリック ⇒ [セルの書式設定] ⇒ [表示形式]の左側の[分類]窓内で“ユーザー定義”を選択 ⇒ 右側の[種類]直下の横長ボックス内に
G/標準;G/標準;
を入力

此れでOKな筈です。お試しあれ。

Qアプリに詳しいかた。 知り合いより書類の雛形が入ってるU S Bメモリを借りて自分のパソコンに入れま

アプリに詳しいかた。
知り合いより書類の雛形が入ってるU S Bメモリを借りて自分のパソコンに入れましたが、自分のパソコンにはマイクロソフトオフィスが入ってないので無料のアプリを入れました。X odoで試したら英文でさっぱりわからず編集できませんでした。次に無料のリベラオフィスをいれたら、編集はできますが配列や間隔が 不揃いで上手くいきません。初心者の老人なので分かりやすくご教授くださる方お願いします。

Aベストアンサー

無料のOfficeソフトがある。
Ofiice Online
 https://products.office.com/ja-jp/office-online/documents-spreadsheets-presentations-office-online
製品版と完全な互換性はありませんが、他社のOfficeソフトより互換性は高いですよ。
ただ、処理能力が低いパソコンではちょっと動作が遅いのが難点。

Microsoft アカウントが必要です。
Windowsを使っているなら、Windowsを起動するときのユーザーID(メールアドレス)とパスワードで利用可能です。
プログラムをダウンロードしたりインストールする必要はありません。
WEBブラウザですぐ操作を行えます。

QWordで文字起こしを頼まれました。 保存形式は97-2000と指定されたのですが 見たところ97-

Wordで文字起こしを頼まれました。
保存形式は97-2000と指定されたのですが
見たところ97-2003しかありませんでした。

2003の方で保存しても大丈夫でしょうか?
教えていただけると幸いです。

Aベストアンサー

先方の誤りでしょうね。
あるいは先方がかなり古いバージョンの物(Word 2002など)を使っているのかもしれません。
「Word 97-2003 文章」
で良いですよ。

Word 2007から保存形式が現在のバージョンの物に変わっています。

QCODE関数から他の文字コードの求め方

セル A1 に1文字が入力されているとき、私は今まで JIS、SJISコードを次式で求めてきました。間違い、あるいは、より簡便な方法があればご指摘ください。

JISコード B1: =DEC2HEX(CODE(A1),4)
SJISコード C1: =DEC2HEX(IF(ROUNDUP(HEX2DEC(LEFT(B1,2))/2,0)+112<=159,ROUNDUP(HEX2DEC(LEFT(B1,2))/2,0)+112,ROUNDUP(HEX2DEC(LEFT(B1,2))/2,0)+112+64))&DEC2HEX(IF(MOD(HEX2DEC(LEFT(B1,2)),2),IF(HEX2DEC(RIGHT(B1,2))+32>=127,HEX2DEC(RIGHT(B1,2))+32,HEX2DEC(RIGHT(B1,2))+32-1),HEX2DEC(RIGHT(B1,2))+126))

それから、上記の関数を利用して、あるいは、他の方法でも、UNICODE を求める数式を教えてください。
ついでながら、区点コードを求める方法はありますでしょうか?

セル A1 に1文字が入力されているとき、私は今まで JIS、SJISコードを次式で求めてきました。間違い、あるいは、より簡便な方法があればご指摘ください。

JISコード B1: =DEC2HEX(CODE(A1),4)
SJISコード C1: =DEC2HEX(IF(ROUNDUP(HEX2DEC(LEFT(B1,2))/2,0)+112<=159,ROUNDUP(HEX2DEC(LEFT(B1,2))/2,0)+112,ROUNDUP(HEX2DEC(LEFT(B1,2))/2,0)+112+64))&DEC2HEX(IF(MOD(HEX2DEC(LEFT(B1,2)),2),IF(HEX2DEC(RIGHT(B1,2))+32>=127,HEX2DEC(RIGHT(B1,2))+32,HEX2DEC(RIGHT(B1,2))+32-1),HEX2DEC(RIGHT(B1,2))+12...続きを読む

Aベストアンサー

Shift JISコードとは、JISコードをずらす(シフトする)ことで実現しているコードです。
そのため、その法則に従って計算することで JIS←→Shift JIS の変換ができます。

UNICODEは、JISとは違った文字の並び順になっています。
そのため、対応表を使った変換となります。

JISを使った CODE / CHAR に対応した
UNICODE盤の UNICODE / UNICHAR があります。
ただし、古いExcelにはありません
https://support.office.com/ja-jp/article/unicode-%E9%96%A2%E6%95%B0-adb74aaa-a2a5-4dde-aff6-966e4e81f16f



> ついでながら、区点コードを求める方法はありますでしょうか?

「JIS 区点 Excel」で検索してみましょう。

Qワードで行間指定したのに、一部だけ間が空きすぎのは?

公募用に中編小説をワードで入力しています。40字30行指定なので、ページレイアウトで文字数と行数の指定をしました。27ページ目までは順調だったのですが…。28ページ目の最後から3行目のところが微妙に広く間が空きすぎ、29行になってしまいました。どうしてでしょう?詳しい方教えてください。

Aベストアンサー

自分もフォントサイズの問題だろうと思います。
28ページの文章をすべて選択してフォントサイズを統一してみましょう。

QExcelで「令和」と表示されるのは5月1日にならないとだめですか?

「日本の新元号に関する Office の更新プログラム」というページ(下記)で、
「Windows と Office の更新プログラムを適用済みの場合でも、Windows 上で実行されている Office 製品は 2019 年 5 月 1 日に新元号が開始されるまで、新元号を表示しませんのでご注意ください。」
と書かれています。
https://support.microsoft.com/ja-jp/help/4478844/office-updates-for-new-japanese-era

今月4月中に、Excelのセルに来月5月以降の年月日を入力した場合に、自動で「令和」という元号を表示させることはできないのでしょうか。

もし、できるということであれば、「2019 年 5 月 1 日に新元号が開始されるまで、新元号を表示しません」とはどのような意味なのでしょうか。

Aベストアンサー

>こちらでは、「4月17日以降にOfficeも更新されれば「令和元年」と表示されると思います」と書かれているんですが

その方は、Microsoftの方ではないですし個人の予想ですよね?公式が出ているのにそれを持ち出してどうするんですか?

5/1より前に新しい元号を表示したい場合は数式や表示形式で限定的に表示させる方法を色々な方が考え付いていますよ。
検索すればたくさん出てきます。


人気Q&Aランキング