
No.2ベストアンサー
- 回答日時:
Excel側で対応したほうが簡単なのですが。
Wordだけで対応したいとすると、かなり面倒になります。
Wordにも簡易な計算用関数が用意されていますが、それを使うと
なると、フィールドコードがかなり長くなります。
顧客コードが文字列だと計算の対象にならないので、関数処理を
するためには数値に変換する必要があるためです。
今回の場合、2つの条件ならばOR関数を使えますが、3つ以上だと
OR関数の組み合わせをするか別方法を使います。
例1:顧客コードの条件が2つの場合
{ IF {= OR ({ IF { MERGEFIELD 顧客コード }="001""1""0" },{ IF { MERGEFIELD 顧客コード }="002""1""0" }) } = 1 "納品書""請求書"}
この例だとOR関数での計算式の中にIF文を入れて1または0を返す
ことで、どちらかが1ならば1を返すことで最初のIF文の条件での
TrueとFalseを有効にしています。
例2:顧客コードの条件が4つの場合
OR関数を使う方法もあるのですが、演算子を組み合わせたほうが
分かりやすくなります。
(1={ IF { MERGEFIELD 顧客コード }="001""1""0" })
これ一つでTrueとFalseの条件を返しますので、顧客コードでの
指定文字列が増えても対応できるようになります。
{ = ((1={ IF { MERGEFIELD 顧客コード }="001""1""0" })+(1={ IF { MERGEFIELD 顧客コード }="002""1""0" })+(1={ IF { MERGEFIELD 顧客コード }="003""1""0" })+(1={ IF { MERGEFIELD 顧客コード }="004""1""0" }))>0) }
この式で条件が合えば1を返すので、有効な数式になります。
納品書にするか請求書にするかの条件を満たすためには、以下の
フィールドコードにします。
{ IF { = ((1={ IF { MERGEFIELD 顧客コード }="001""1""0" })+(1={ IF { MERGEFIELD 顧客コード }="002""1""0" })+(1={ IF { MERGEFIELD 顧客コード }="003""1""0" })+(1={ IF { MERGEFIELD 顧客コード }="004""1""0" })>0) } = 1 "納品書""請求書"}
もっとスマートな方法があるかもしれませんが、私が知っている
フィールドコードでの対応方法だと、これが限界です。
式が複雑になってしまうことがわかり、とても助かりました!
後々、頻繁に修正があることがわかっているので、例1のような
時だけ使わせていただくことにしました。
ありがとうございました。
No.1
- 回答日時:
エクセルのシート側で1列作業列を作り、そこに納品書と請求書の区別を入れて、差込フィールドでその
作業列を参照するのは出来ませか。基データのシートは触れないのですか。
001納品書
002納品書
003納品書
004納品書
のような表を作っておいて
VLOOKUP関数で
=IF(ISNA(VLOOKUP(A1,$G$1:$H$4,2,FALSE)),"請求書","納品書")
4(社)つぐらいなら
=IF(ISNA(VLOOKUP(A9,{"001";"002";"003";"004"},1,FALSE)),"請求書","納品書")
基となるデータは、専用ソフトを使ったもので、触ることが一切できないのです。
せっかく教えていただいたのに、残念です。
次回、Excelを使う時に、参考にさせていただきます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルでSUMIFS関数で条件範囲の部分が#valueになる。 4 2023/04/28 12:42
- PDF PDFファイルを分割するマクロの作り方を教えてください。 2 2022/06/24 11:09
- Visual Basic(VBA) 指定月分の顧客データファイルを統合して並べ替え、所定の場所に貼り付ける 3 2022/09/10 07:55
- その他(データベース) accessについて 2 2022/05/31 16:58
- Visual Basic(VBA) 複数ページあるPDFファイル内の文字列等の情報をキーにPDFをグループ分け分割したい。 2 2022/06/25 09:51
- Visual Basic(VBA) VBA 税率を判定表する方法を教えて下さい。 10 2022/03/28 11:21
- Java リレーションエンティティクラスとは何ですか? 2 2023/02/10 00:02
- Visual Basic(VBA) 指定月分の顧客データファイルを統合して並べ替え、所定の場所に貼り付ける (再質問) 4 2022/09/14 22:51
- Access(アクセス) 対象月の2桁表示について 1 2023/01/07 05:08
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Microsoft 365 Basic サブスク...
-
アクセスの更新クエリでカレン...
-
Accessのレポートについて
-
ACCESS VBA でのエラー解決の根...
-
AccessVBAで降順にするテーブル...
-
access2021 強制終了してしまう
-
accessデータを指定したExcel、...
-
スキルシートのエクセルの項目に
-
日付のテキストボックスに(例...
-
Accessで、『"A"以外の場合"--"...
-
CSVファイルの「0落ち」にVBA
-
Access 複数条件検索の設定が上...
-
テキストボックスの値をテーブ...
-
Accessのクエリで、replace関数...
-
ACCESSのフォーム テキストボッ...
-
Accessフォームの配色テーマを...
-
Accessのクエリの印刷設定
-
Accessデータベースに含まれる...
-
アクセスで、実行時エラー3075 ...
-
お助けください
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Microsoft 365 Basic サブスク...
-
Accessのクエリで、replace関数...
-
access2021 強制終了してしまう
-
ACCESS VBA でのエラー解決の根...
-
Access VBA [リモートサーバー...
-
Accessのスプレッドシートエク...
-
Accessのレポートについて
-
access2021 VBA メソッドまたは...
-
Access Error3061 パラメータが...
-
access2019 チェックボックスと...
-
Accessのクエリの結果を、既存...
-
accessでlaccdbファイルが削除...
-
Access VBA を利用して、フォル...
-
accessデータを指定したExcel、...
-
Accessのリンクテーブルのパス...
-
列が255以上のCSVファイルをAcc...
-
Accessのクエリの印刷設定
-
Accessでレポートを印刷する時...
-
Accessフォームの配色テーマを...
-
Accessデータベースに含まれる...
おすすめ情報