【先着1,000名様!】1,000円分をプレゼント!

エクセルから、ワードへの差し込みで、数字(1~4桁)を入れようとしています。
差し込まれた数字の表示で、1桁の数字は全角で、2桁以上は半角で表示したいのですが、やり方がわかりません。
フィールドにどう入力すれとばよいのでしょうか、

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

  • 加えて、三桁の数字の場合は
    [ 456] のように、先頭にスペースを入れることはできるのでしょうか

      補足日時:2017/03/08 23:06

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

A 回答 (2件)

No.1の回答者です。



三桁に限らず、数値書式スイッチを使えば桁指定できます。
 { MERGEFIELD "数字" \# ####} または、
 { MERGEFIELD "数字" \#xxxx}
http://www4.synapse.ne.jp/yone/word2010/word2010 …

三桁で先頭スペースの場合
{ IF { MERGEFIELD "数字" } = ??? { MERGEFIELD "数字" \#xxxx} { MERGEFIELD "数字"} }

前回のものと組み合わせると、
{ IF { MERGEFIELD "数字" } = ? { MERGEFIELD "数字" \* DBCHAR} ↓
{ IF { MERGEFIELD "数字" } = ??? { MERGEFIELD "数字" \#xxxx} ↓
{ MERGEFIELD "数字"} } }
になります。(「↓」の記号は[ Shift+Enter ]キーで挿入する改行を表す)
    • good
    • 1
この回答へのお礼

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

お礼日時:2017/03/12 11:12

差し込む数字は半角数字ですよね。


その半角数字が1桁だった場合のみ全角にすればよいのですよね。

数字だけではないですが、1桁(1文字)を判定する方法はあります。
 { IF "数字" = ? "全角" "半角" }
このIF分で、1文字のワイルドカードである「?」と一致するかを判定し、
一致したら全角、一致しなかったら半角にします。

 { IF { MERGEFIELD "数字" } = ? "全角" "半角" }

全角にするスイッチ
 { MERGEFIELD "数字" \* DBCHAR}
これを組み合わせれば可能です。

{ IF { MERGEFIELD "数字" } = ? { MERGEFIELD "数字" \* DBCHAR} { MERGEFIELD "数字"} }

これで、対応できると思います。

2桁なら「??」、3桁なら「???」のようにします。
1文字を判定するワイルドカードである「?」は、「あ」のような1文字でも
反応しますので、数字のみにしてくださいね。

添付画像は、実際に桁違いで差し込みしたものです。
1桁は全角に、2桁以上は半角のままになっていますよね。
「ワードへの差し込みで数字一桁を半角に、二」の回答画像1
    • good
    • 0
この回答へのお礼

教えていただいたとおりにしたらできました!ありがとうございます。

お礼日時:2017/03/08 23:04

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

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

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

Q1桁のみの数字は全角、2桁以上の数字は半角にした

1桁のみの数字は全角、2桁以上の数字は半角にしたいと思います。
例えば、2011年3月19日の場合は、3のみを自動で全角にし、それ以外を自動で半角にしたいと思っています。

その為、そのようなことが出来るツールや手順などをご存知の方がいらっしゃいましたら、ご教示の程よろしくお願いします。

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

Aベストアンサー

bloomberg.co.jp のサイト記事では、英字の省略語(Acronym)も
全角にしていますよね。この省略語などの全角は無視してもいいなら
以下のようなソフトで可能です。

【ナス】
http://hp.vector.co.jp/authors/VA028660/soft/index.htm
一桁の数字のみテキストの文字種を変更してくれます。
このソフトでは、桁区切りや小数点の記号がある場合などの対応が
できますので、記事と同じような修正ができます。

Wordで行う場合は、桁区切りだと少し複雑になりますので、最後の
ほうに別回答を追加します。
一桁数字および小数点対応の方法として、以下のような検索方法で
修正します。(ただし、Word2002以降のみで可能な方法)

[検索]ダイアログを出します。

[検索する文字列]に [!0-9][0-9][!0-9.] と入力します。
[見つかったすべての項目を強調表示する]のチェックを入れます。
[オプション]ボタンを押し[ワイルドカードを使用する]のチェック
を入れたら[すべて検索]ボタンで強調表示の状態にします。

これで選択された文字を[文字種の変換]で[全角]に変換します。
http://pc.nikkeibp.co.jp/article/NPC/20060215/229420/
http://pc.nikkeibp.co.jp/article/NPC/20070402/267195/

桁区切りの場合は、桁区切りに使っている記号を[!0-9.]の中に
追加すれば、おそらく対応できるかと思います。
例: [!0-9][0-9][!0-9.,]

bloomberg.co.jp のサイト記事では、英字の省略語(Acronym)も
全角にしていますよね。この省略語などの全角は無視してもいいなら
以下のようなソフトで可能です。

【ナス】
http://hp.vector.co.jp/authors/VA028660/soft/index.htm
一桁の数字のみテキストの文字種を変更してくれます。
このソフトでは、桁区切りや小数点の記号がある場合などの対応が
できますので、記事と同じような修正ができます。

Wordで行う場合は、桁区切りだと少し複雑になりますので、最後の
ほうに別回答を追加します。
一桁数字およ...続きを読む

Qwordで2桁の半角数字を1桁の全角数字に固定出来ないですか

平成8年
平成9年
平成10年
平成11年

を表一杯に均等割りすると、平成8,9年と平成10,11年で平成の成が縦揃えになりません。また8,9が10,11の中央にも着ません。10とか11とかを全角1文字に固定できないでしょうか。

半角のスペース等を入れてみてもなかなかそろいませんので良い案がございましたら教えてください。

Aベストアンサー

私はいまだにWindows95ユーザーで
Word97ですが、参考になりますでしょうか?
仕事柄、Wordを使うことが多く、
私も以前から悩まされいた質問です。

おそらくフォントの使い方で簡単に整理できると思います。
まず英数字も半角を使わずに全角で書くと
1桁の前を全角スペースを使って書くことができますね。
この場合、英数字もフォントを同じにしてください。
全角スペース+1桁全角数字
です。

英数字は半角で書きたい場合は、
英数字がおそらく自動で「Century」というフォントになると思いますが
2桁英数字の「Century」というフォントを
「MS明朝」など別のフォントにします。
あとは1桁の数字は、半角スペース+半角英数字+半角スペースで
上手くそろうと思います。
この場合1桁の数字は、「MS明朝」などのフォントにしなくても
「Century」で上手くそろうと思います。

ポイントは2桁の数字を「Century」から別のフォントに変えて
1桁数字は、半角スペースで挟むことです。

画面上、操作する上で
フォントが表示されていなければ
表示→ツールバー→書式設定にチェック
でフォントのボックスが表示されます。

私はいまだにWindows95ユーザーで
Word97ですが、参考になりますでしょうか?
仕事柄、Wordを使うことが多く、
私も以前から悩まされいた質問です。

おそらくフォントの使い方で簡単に整理できると思います。
まず英数字も半角を使わずに全角で書くと
1桁の前を全角スペースを使って書くことができますね。
この場合、英数字もフォントを同じにしてください。
全角スペース+1桁全角数字
です。

英数字は半角で書きたい場合は、
英数字がおそらく自動で「Century」というフォントになると思いま...続きを読む

QExcel2002 一桁数字だけ全角に置換

Excel2002 一桁数字だけ全角に置換
したいのですが、どうすればよいのでしょうか?

数字はすでに打ち込まれており、全て半角で、仮名も交じった文章です。
一桁数字を全角に 1→1 二桁以上の数字は半角のままにしたいのですが・・

宜しくお願いします。

Aベストアンサー

VBAのほうで解決させてよいのかな?
関数ですと、一回目は出来るような気がします、おそらく、次に出てくる数字は出来ませんね。(以下のような文字列)

>数字はすでに打ち込まれており、全て半角で、仮名も交じった文章です。
(事情により半角カタカナはいれませんが)
 ABCDE12345FGHIJK123456LMNOP
処理後:
 ABCDE12345FGHIJK123456LMNOP (サイト上では見分けが付きませんが)
という場合に、12345 で、5 を全角にする、123456 は、6 を全角にするという解釈ですか。

以下は、単独のユーザー定義関数だけでも、変換が可能です。
ふつうの関数と同じように、 = ConvertLetter(A1)
で変換されます。

VBEditor を開き、挿入--標準モジュール で、以下のプログラム・ソースを貼り付けてください。


'//
Sub MyTest1()
Dim c As Variant
 For Each c In Selection
  If c Like "*##*" Then
   c.Offset(, 1).Value = ConvertLetter(c.Value)
   c.Offset(, 1).Value = c.Offset(, 1).Value '値貼り付け
  End If
 Next
End Sub

Function ConvertLetter(ByVal strTxt As String) As String
'ユーザー定義関数
Dim Matches As Object
Dim Match As Object
Dim buf As String, rep As String
 With CreateObject("VBScript.RegExp")
  .Pattern = "\d+"
  .Global = True
 buf = strTxt
 Set Matches = .Execute(buf)
 For Each Match In Matches
  rep = Left(Match, Len(Match) - 1) & StrConv(Right(Match, 1), vbWide)
  buf = Replace(buf, Match, rep, 1, 1)
 Next
 End With
 ConvertLetter = buf
End Function

VBAのほうで解決させてよいのかな?
関数ですと、一回目は出来るような気がします、おそらく、次に出てくる数字は出来ませんね。(以下のような文字列)

>数字はすでに打ち込まれており、全て半角で、仮名も交じった文章です。
(事情により半角カタカナはいれませんが)
 ABCDE12345FGHIJK123456LMNOP
処理後:
 ABCDE12345FGHIJK123456LMNOP (サイト上では見分けが付きませんが)
という場合に、12345 で、5 を全角にする、123456 は、6 を全角にするという解釈ですか。

以下は、単独のユーザー定義...続きを読む

Q年月日の分離

年月日の分離
Excelで、2016/1/20 を年月日に分けて表示したく、
2016、1、20と表示させることできました。
しかし、データそのものは3つとも、2016/1/20のままです。
データを3つに分ける方法ありませんか。
値複写では、2016/1/20のままです。
left、mid、right関数は思いつきました。
しかし、これでは1桁、2桁ある月日の「場合分け」がありそうで面倒です。
確定申告の医療費の集計で、全件不可の通知があり、この問題と解釈しました。
なお、環境はWin10、Excel2013です。

Aベストアンサー

year,month,day,それぞれに関数をつけてググれば
いっぱい出ます。

Q【急募】Wordに貼りつけた画像に線を引きたい

お世話になります。
Wordに貼りつけた画像に線を引きたいのですが、どうやればよいのでしょうか?
(文章を入力するのはできるようですが)
急ですみませんが回答よろしくお願いします!

Aベストアンサー

No.1の回答者です。

[図形]の[直線]などを挿入すれば、隠せると思いますよ。
リボンの[挿入]タブ→[図形]→[直線]又は[四角形](範囲が広い場合)を
選択し、画像の上でドラッグします。
http://www.wanichan.com/pc/word/2016/07/01.html
これで、対応できませんか?

もしも、画像の後ろになるのなら、図形の折り返しを変更するか、順序を
変更します。
http://www.wanichan.com/pc/word/2016/07/19.html
http://www.wanichan.com/pc/word/2016/07/20.html

QExcelを使って行列変換をしたい(大量件数)

先日質問させていただいたものです。
さらなる加工が必要になりました。

例えば、
◆test
aaaaaa
iiiiiiiiiiiii
uuuuu
eeeee
ooooo
◆test2
kaaaaa
kiiiiiiiiiii
kuuuuu
keeeee
kooooo
...

これらのデータを
◆test aaaaaa
    iiiiiiiiiiiiii
    uuuuuu
eeeeee
oooooo
◆test2 kaaaaa
     kiiiiiiiiiii
     kuuuu
     keeeee
     koooooo

に変換はできたのですが、今度は
◆test aaaaaaaa iiiiiiiiiii uuuuuuuuuuu eeeeeee oooooo
◆test2 kaaaaaa kiiiiiiiii kuuuuuuuuu keeeeee koooooooo

のように変換する必要がでてしまいました。

マクロなどで一括で変換できないでしょうか。
当方知識が乏しいため困っております。

先日質問させていただいたものです。
さらなる加工が必要になりました。

例えば、
◆test
aaaaaa
iiiiiiiiiiiii
uuuuu
eeeee
ooooo
◆test2
kaaaaa
kiiiiiiiiiii
kuuuuu
keeeee
kooooo
...

これらのデータを
◆test aaaaaa
    iiiiiiiiiiiiii
    uuuuuu
eeeeee
oooooo
◆test2 kaaaaa
     kiiiiiiiiiii
     kuuuu
     keeeee
     koooooo

に変換はできたのですが、今度は
◆test aaaaaaaa iiiiiiiiiii uuuuuuuuuuu eeeee...続きを読む

Aベストアンサー

こんにちは!

別シートに表示しても良いですか?
元データはSheet1のA列にあり、Sheet2に表示するとします。
標準モジュールにしてください。

Sub Sample1()
Dim i As Long, cnt As Long, wS As Worksheet
Set wS = Worksheets("Sheet2")
wS.Cells.ClearContents
With Worksheets("Sheet1")
For i = 1 To .Cells(Rows.Count, "A").End(xlUp).Row
If InStr(.Cells(i, "A"), "◆") > 0 Then
cnt = cnt + 1
wS.Cells(cnt, "A") = .Cells(i, "A")
Else
wS.Cells(cnt, Columns.Count).End(xlToLeft).Offset(, 1) = .Cells(i, "A")
End If
Next i
End With
End Sub

こんな感じではどうでしょうか?m(_ _)m

こんにちは!

別シートに表示しても良いですか?
元データはSheet1のA列にあり、Sheet2に表示するとします。
標準モジュールにしてください。

Sub Sample1()
Dim i As Long, cnt As Long, wS As Worksheet
Set wS = Worksheets("Sheet2")
wS.Cells.ClearContents
With Worksheets("Sheet1")
For i = 1 To .Cells(Rows.Count, "A").End(xlUp).Row
If InStr(.Cells(i, "A"), "◆") > 0 Then
cnt = cnt + 1
wS.Cells(...続きを読む

Qwordの差し込み印刷で文字が0と表示されます

wordの差し込み印刷について教えてください。
エクセルデータ(書式は標準)を差し込みしたのですが、
ある列の文字データのみが0と表示されてしまいます。
(その列の数字データは表示されます)
どうしたら文字が表示されるのでしょうか?

Aベストアンサー

数字以外が表示されない差し込みフィールドがあるということでしょうか?
Excel側のデータがおかしくなっているのか、Word側の問題なのか定か
ではないですが、差し込み形式をDDEにしてはいかが。

Wordのバージョンが2002以降だと、初期の差し込みでのデータの形式が
OLE DBになっているので、Excelの表示のままで差し込まれないことが
あります。

Excelのデータを差し込みすると、日付、電話番号、および通貨が正しく
表示されない場合の対処方法
http://support.microsoft.com/kb/882154/ja

上記の設定をしても文字が表示されないなら、Excelデータがおかしい
ので、Excel側の修復が必要でしょうね。

QExcel2013のOFFSET関数でのエラーの原因を教えてください。

Excel2013のOFFSET関数を使った時のエラーの原因を教えてください。
(他のやり方もあるのでしょうが、今回のエラーの原因が知りたいです)

A1に=Z1と入力して右や下にオートフィルすればZ1周辺の値をA1周辺に表示できます。
同じことを=OFFSET($Z$1,ROW(A1)-1,COLUMN(A1)-1)で表したいときに
「$Z$1」というセル番地を計算から得ようとするとエラーになってしまい困っています。

例えばA1:Z1の中からE2に入力した文字列と同じ値を持つセルの番地を得たいときは、=ADDRESS(1,MATCH(E2,A1:Z1,0),1)でOKですね?
それなのにこの数式をそのままOFFSET関数の"基準"の部分に持ってくるとエラーになってしまいます。
=OFFSET(ADDRESS(1,MATCH($E$2,$A$1:$Z$1,0),4),ROW(A1)-1,COLUMN(A1)-1)
ADDRESSで得られるセル番地は文字列として扱えないんでしょうか?

(ちなみに=OFFSET($Z$1,ROW(A1)-1,COLUMN(A1)-1)と直接打てば正しい結果が得られます。)

Excel2013のOFFSET関数を使った時のエラーの原因を教えてください。
(他のやり方もあるのでしょうが、今回のエラーの原因が知りたいです)

A1に=Z1と入力して右や下にオートフィルすればZ1周辺の値をA1周辺に表示できます。
同じことを=OFFSET($Z$1,ROW(A1)-1,COLUMN(A1)-1)で表したいときに
「$Z$1」というセル番地を計算から得ようとするとエラーになってしまい困っています。

例えばA1:Z1の中からE2に入力した文字列と同じ値を持つセルの番地を得たいときは、=ADDRESS(1,MATCH(E2,A1:Z1,0),1)でOKで...続きを読む

Aベストアンサー

対策はNo.1様のとおりですね。

> 今回のエラーの原因が知りたいです

ADDRESS関数が返すのはアドレスを示す「文字列」にすぎません。そしてOFFSET関数で必要なのは、参照(セルそのもの)です。なのでデータの種類が違うのでエラーになります。
そこで「アドレス文字列」を「参照」に変換することが必要になりますが、それを行うのがINDIRECT関数になります。

Qword差し込み印刷 半角カタカナ・数字→縦書き

word2010使用です。
差し込み印刷を使って封筒印刷を作成しています。
元データのExcelに全角かな・数字・アルファベット、半角カナ・数字・アルファベットが
入っている住所を縦書き印刷したいのです。

元データの管理をしているのは私ではない為ここは訂正できません。

数字を縦書きにするのは、差し込みフィールドのスイッチに「\v」を入れると言うのは
わかり入れてみました。でもこれでは半角カナが横書きのままでした。
半角カナを全角縦にするには「\* DBCHAR」を入れるというのもわかりました。
でもこれだと半角「-」が横のままになりました。
どちらも縦書きに表示させる方法はありますか?
1日検索しましたが見つけられませんでした(ToT)

よろしくお願いいたします。

Aベストアンサー

データとして統一されていないのは、今後も差し込み印刷以外に
利用したいときなどに問題になりやすいので、データの管理者に
統一するよう頼むのが一番良いのですが。

現時点で作業ができるようにしたいなら、全角にするスイッチの
「\* DBCHAR」を入れるのが一番確実です。
半角「-(マイナス)」は全角にしても「-」ですから、縦書きに
できません。そのままでは封筒を送付することができませんので、
[置換]の機能を使ってマイナスを「‐(全角ハイフン)」にします。

差し込み印刷で住所などを配置して全角スイッチを付け、用意が
できたなら、新規文書への差し込みを実行します。

手順:
差し込み印刷の印刷をする手順までそのまま作業します。
[完了と差し込み]にある[**の印刷]ではなく個々の~~の編集]
を選択して新規文書へと差し込みをします。
http://www4.synapse.ne.jp/yone/word2010/word2010_sasi_bunsyo.html

差し込んだデータが、封筒ごとにセクション区切りされた状態で
新規文書として用意されます。全角になっているデータの中から
マイナスだけを置換機能で全角ハイフンに一括変換します。
これを通常印刷で印刷すれば、問題なく利用できると思います。

データとして統一されていないのは、今後も差し込み印刷以外に
利用したいときなどに問題になりやすいので、データの管理者に
統一するよう頼むのが一番良いのですが。

現時点で作業ができるようにしたいなら、全角にするスイッチの
「\* DBCHAR」を入れるのが一番確実です。
半角「-(マイナス)」は全角にしても「-」ですから、縦書きに
できません。そのままでは封筒を送付することができませんので、
[置換]の機能を使ってマイナスを「‐(全角ハイフン)」にします。

差し込み印刷で住所などを配置して全角...続きを読む

QMS-Wordの入力のプロセス(原理)に関して 教えて下さい

上級者、専門家の方々にとっては、すごく初歩的な問題かと思いますが、どうかお教え下さい。

 (1)Wordを起動したら、Wordのプログラム全体がメモリー上に乗っかるのですか。それとも、一部はHDDに残ったままで、適宜HDDにアクセスしながら文書作成作業が行われるのですか?

 (2)キーボードで「s」-「a」-「k」-「u」-「r」-「a」という信号を入力すると、そのデータは、メモリーに行くのだと考えていますが、それで、いいですか?あるいはCPUに行くのでしょうか?

 (3)上の問題とも関わりますが、変換キーを押して、「桜」、「さくら」、「サクラ」、「佐倉」などの変換候補をWordが示します。これのWordの作業は、メモリーで行われますか、あるいは、CPUで行われますか?

 御多忙中恐縮ですが、どうぞお教え下さい。御願い申し上げます。

Aベストアンサー

本当の事を書くと非常に複雑になって分かり難いので適度に(適当に)ウソを交えながら書きます。(^^;
場面としては、「利用者がスタートメニューからWordを起動し、起動されたWordが何も入力されていない文書画面を表示し、利用者が“桜”という文字を書き入れる」までです。

1.OSがWordのプログラム本体(全体)を読み込むのに必要なメモリーを確保し、そこへハードディスクから読み込んだプログラムを配置し、実行制御をWordに渡す。

2.Wordは文書ファイルを指定して起動されていないため(Wordファイルのダブルクリックで起動されていないため)、OSのウィンドウ機能を呼び出して空の文書画面を生成するとともに、この画面で入力された文書を扱うための作業用のメモリをOSを介して取得。キーボード入力の待ち状態に入る。

3.キーボードから入力があると、カナ漢字変換変換モードであればWordはカナ漢字変換プログラムに制御を渡す。その際、変換した文字を入力する位置情報なども渡す。

4.1キーごとの入力があるたびにカナ漢字変換プログラムは入力値に応じた値(文字)をOSから取得した作業用のメモリ領域に格納するとともにOSのWindow機能を用いてWordから指定された入力カーソル位置へ表示する。
  例えば、ローマ字変換モードで「ひらがな」になっている場合、sのキーが押されるとカナ漢字変換プログラムにsが渡り、a、i、u、e、oと2個続きのnではないのでメモリー上の未確定文字として「S」を蓄積する。加えて入力カーソルの位置にOSのウィンドウ機能を使用して未返還文字を示す書式で「S」と表示する。
  2文字目にaを入力するとカナ漢字変換プログラムはローマ字変換モードであるので1文字目とあわせてメモリー上の未変換文字として「さ」を蓄積し、未確定文字の情報をクリアする。加えてOSのウィンドウ機能を使用して「S」としていた表示を「さ」に変更する。
  3文字目にkを入力すると未返還文字「さ」+未確定文字「K」となり、4文字目にuを入力すると未返還文字「さく」で未確定文字無しとなる。
  以降同様の処理が続く。

5.キーボードからローマ字変換モードでの「変換」指定を示すスペースが押されると、これを受け取ったカナ漢字変換プログラムはメモリー上に蓄積していた未返還文字の変換処理を実行し、多数ある候補の先頭候補をWordから指定された位置に変換候補であることを示す書式で表示する。

6.更にスペースキーを押されると候補をウィンドウ表示し変換処理を続ける。
  Enterキーを押されると変換を確定して変換結果と共に制御をWordに戻す。

7.制御を戻されたWordは結果を入力カーソルの位置に表示し、変換文字の最後尾を新たな入力カーソル位置とする。

大雑把にはこんな何時です。
ご質問にの(1)~(3)は以下です。

(1) 基本的には全部です。

(2) 変換中のデータはそうです。

(3) 物事を処理する動作はCPUで行います。メモリーは単なる部品を置いておくための一時保管場所や作業領域です。
  机の上で人が何か組み立て作業をする場合を想像するとわかりやすいでしょう。組み立てたい(=処理したい)部品(データ)は机の上に並べられています。人はそれを手に取って組み立てて行きます。組み立てるという動作(処理)は机の上(メモリー)ではなく人の手という処置装置(CPU)が行います。

参考まで。

本当の事を書くと非常に複雑になって分かり難いので適度に(適当に)ウソを交えながら書きます。(^^;
場面としては、「利用者がスタートメニューからWordを起動し、起動されたWordが何も入力されていない文書画面を表示し、利用者が“桜”という文字を書き入れる」までです。

1.OSがWordのプログラム本体(全体)を読み込むのに必要なメモリーを確保し、そこへハードディスクから読み込んだプログラムを配置し、実行制御をWordに渡す。

2.Wordは文書ファイルを指定して起動されていないため(Wordファイルのダ...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング