表題の通りExcel関数をWordの表で使いたいのですが、Wordで使える関数には種類が少ないです。
そこで、元の関数を完全でなくとも、それに近いものを作ろうとしたのですが、考えているうちによくわからなくなってしまいました。
画像の、
①には、=COUNTIF($E$7:$E$10,$A2)
②には、=COUNTIF($E$7:$E$10,$A3)
④には、=IF(OR($B7="",AND(LEFT($B7,2)<>"1.",LEFT($B7,2)<>"1.",LEFT($B7,2)<>"・")),"",MAX($A$6:$A6)+1)
⑤には、=IF(OR($D7="",LEFT($D7,1)="【",LEFT($D7,1)="["),"",MAX($C$6:$C6)+1)
の関数が入っています。
これと全く同じ機能でなくてもいいので、Wordの表で似たような働くをするものでも構いませんので、ご教授願えれば、助かります。
よろしくお願いいたします。
No.8ベストアンサー
- 回答日時:
No.7の補足へと添付された画像のような仕様書形式でないとダメなの
ですか?
操作手順にある「1.」の部分だけをB列に抽出していたり、予想結果の
番号としての基準が何なのかも判断しにくいですしね。
おそらく、[操作手順]に対応して[予想結果]をアウトライン表示のように
表示したいのだと思います。
Wordの機能にある[見出し 1]と[見出し 2]をそれぞれの列に適用して、
見出し1が増えるたびに見出し2が連動すれば済むことだと思います。
罫線で区切られたような形式は、Wordに向かない機能だと思います。
それでもWordで作成しないとならないのなら、以下の画像のような形式
ぐらいしか思いつかないですね。
この場合、1列目に[見出し 1]を配置して、2列目に[見出し 2]を配置して
います。
青い部分はヘッダーに色の図形を配置しているだけなので、見た目を
重視しただけのものです。
回答くださりありがとうございます。こちらの事情で遅くなりました。すいませんでした。
目からうろこの回答ありがとうございました。[見出し]を使うというアイディアはなかったので、試してみます。
こういう場合は、Wordは不向きであることがよくわかりました。今回は指定があったので、困惑しておりました。無事完成させようと思います。
ありがとうございました。
No.7
- 回答日時:
No.3の回答に書いたようにマクロを組まないとダメな理由は、LEFT関数
のように文字列の左から何文字目までを取り出すことが、Wordの一般
機能では無理だからです。
④や⑤などは、何が目的で「1.」や「1.」などで判断して連番を別セル
に出しているのか分からないのですから、求めていることへのアドバイス
ができないと思います。
[見出し]とか[内容]の列で連番を出す理由の条件によっては、何かの
別案などを出すこともできると思います。
単純にセルに設定した関数を組み合わせた数式を見ただけで、何が
目的なのか判断できるとは限りません。理解できる条件を出すことで、
数式以外の方法も考えることができると思いますよ。
No.6
- 回答日時:
No.5の回答の書き方が解りにくかったでしょうか?
「NG」だけだと数値がない文字列のみなので、計算として利用できない
ので、何かしらの数値を入れることで、その数値を計算して利用できる
ようにする意味です。
ですから「NG 5」でも「NG 10」でも数値としては問題ありません。
便宜上「NG 1」としただけであり、ExcelでのB2セルの値を使う意味とは
全く違います。
Wordの表を5×5で用意して、A列に「NG 1」または 「OK 2」を入力して、
B列で計算式の「 =SUM(LEFT) 」と入力してみてください。
B列には「1」または「2」が表示されるはずです。
この数値だけを取り出す方法を、{ =({ =A1 }=1) }でTRUEであれば「1」、
FALSEなら「0」を取得することでカウントと同じ加算が利用できます。
ですからE列にでも以下のような計算式を用意すれば、カウントをする
ことと同じ結果を得ることができるようになります。
「NG 1」でのカウント
{ =({ =A1 }=1)+({ =A2 }=1)+({ =A3 }=1)+({ =A4 }=1)+({ =A5 }=1) }
「OK 2」でのカウント
{ =({ =A1 }=2)+({ =A2 }=2)+({ =A3 }=2)+({ =A4 }=2)+({ =A5 }=2) }
大変失礼いたしました。私がよくわかってなかったみたいです。
本論に入ります。おっしゃっておられることがよくわかりました。と同時に、すごいことを教わったと思いました。ありがとうございました。これで、Wordで、文字列のカウントがわかりました。④⑤についてもヒントでもいいので、お伺いしたいのですが、マクロを使わないと無理とのご意見もあり無理かもしれませんが、アイディアだけでもお願いできないでしょうか。
ベストアンサーは、こちらの勝手で申し訳ないのですが、24時間後によく考えてつけたいと思います。
よろしくお願いいたします。
No.5
- 回答日時:
No.3の回答者です。
各セルをブックマークとして登録するのが面倒なら、「NG」や「OK」の
セルに(白色などで)見えない数値を入れておく方法があります。
例えば、「NG」や「OK」がA列だった場合、A1セルなどに、「NG 1」や
「OK 2」などのように半角スペース+関連数値を追加します。
追加した部分を白文字にすれば見えなくなりますよね。
これを各セルごとに参照することで、数値以外の文字列は計算には
含めないで扱えます。
{ =A1 }にすると、A1セルにある「NG 1」が「1」として表示されます。
「OK 2」だった場合は「2」になりますね。
これを応用して、以下のような式で計算できます。
「NG 1」でのカウント
{ =({ =A1 }=1)+({ =A2 }=1)+({ =A3 }=1)+({ =A4 }=1) }
「OK 2」でのカウント
{ =({ =A1 }=2)+({ =A2 }=2)+({ =A3 }=2)+({ =A4 }=2) }
上記の式でもわかるように、Wordでは複雑な計算ほど面倒です。
No.4
- 回答日時:
No.1 です。
> Excelの力を借りず、Wordで・・・。ということなので、Wordで使える関数でお願いいたします。
Wordで使える関数の数は、残念ながら、20くらいしかありません。
詳しくは、下記URLのページをご参照ください。
「ワード2010基本講座:Wordで利用できる関数」
http://www4.synapse.ne.jp/yone/word2010/word2010 …
「2. Wordで使える関数と演算子」
http://office-qa.com/Word/wd253.htm
No.3
- 回答日時:
Wordの[計算式]にある関数は、フィールドコードで用意されたもので、
数値以外では計算できません。
ですから①や②のような文字列をカウントすることはできません。
どうしても同じようなことをしたいなら、「結果」の列にあるセル単位で
ブックマークを設定して、そのブックマークの参照結果と値が同じなら
IF文でのTRUEとしての1を出すしかないですね。
{= { IF {ブックマーク名1} ="OK""1""0" }+{ IF {ブックマーク名2} ="OK""1""0" } }
④や⑤などは、マクロでも組まないと無理だと思います。
数値以外の文字列をWordの関数で処理することは難しいですから、
Excelのオブジェクトを埋め込んだほうが簡単だと思いますよ。
No.2
- 回答日時:
Word文書に別途用意したExcelファイルにある表を張り付けるのではダメですか?
https://support.office.com/ja-jp/article/Excel-% …
http://allabout.co.jp/gm/gc/50191/
No.1
- 回答日時:
WordにExcelのワークシートを挿入すれば、Excelの関数がすべて使えます。
下記URLのページをご覧になってお試しください。
「WordにExcelワークシート挿入」
http://www5a.biglobe.ne.jp/~kazama-c/l/kaikei/k0 …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの数式で教えてください。 3 2023/06/06 10:13
- Visual Basic(VBA) エクセルの数式で教えてください。 1 2023/07/31 15:49
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- Excel(エクセル) Excel2019 マクロを使用し画像を貼り付けした際のリンク切れについて 2 2022/11/15 16:14
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Excel(エクセル) スプレットシートの関数 3 2023/04/07 11:49
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- Excel(エクセル) Excel同士のデータの突合 3 2023/08/07 16:34
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
マイクロソフト 一時使用コード...
-
会社PCのメールが更新されない
-
英数字のみ全角から半角に変換
-
【Microsoft Forms】回答を削除...
-
VLOOKUP関数について
-
Microsoft Formsの「個人情報や...
-
【スプレッドシート】指定の日...
-
outlookのメールが固まってしま...
-
vb.net オブジェクト指向につい...
-
Outlook で宛先が複数の場合の人数
-
【スプレッドシート】白色のセ...
-
1つのPCに「Excel 2010」「Exc...
-
エクセルでXLOOKUP関数...
-
Microsoft Formsで「応答」から...
-
Office 2021 Professional Plus...
-
エクセルのシフト表を簡単にGoo...
-
Microsoft Edgeの「ニュースと...
-
Microsoft Officeに似たキング...
-
Excel VBA 日程表からスケジュ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
マイクロソフト 一時使用コード...
-
英数字のみ全角から半角に変換
-
Office2021を別のPCにインスト...
-
Microsoft Formsの「個人情報や...
-
officeビジネス型のワードやエ...
-
会社PCのメールが更新されない
-
【スプレッドシート】指定の日...
-
Microsoft Officeを2台目のPCに...
-
何このステータスバー
-
2つのシートの一致する行のセ...
-
会社のTeamsのことで相談です。...
-
エクセルにリンクされるのをし...
-
Windows 11で、IME言語バー(IM...
-
office2010とoffice365の共存で...
-
Microsoftのパソコンです。 エ...
-
エクセルでXLOOKUP関数...
-
Excel関数について質問ですm(__)m
-
VBA
-
自分の専門分野の仕事。初見で...
おすすめ情報
早速の回答ありがとうございます。
確かに、おっしゃられていることは、目的に近いのですが、Wordで使える関数で考えてみたかったのです。かなり無理があるのは承知しておりますが、事情があって、Wordで実現させる必要があったのです。
早速の回答ありがとうございます。
Excelの力を借りず、Wordで・・・。ということなので、Wordで使える関数でお願いいたします。
回答くださりありがとうございます。すいません、説明不足でした。
B2の1は、E7~E10の中でいくつNGがあるかという意味で、B3の2は、E7~E10の中でいくつOKがあるのかという意味です。「NG 1」「OK 2」という意味ではありません。すいませんでした。
すいません。初めから目的を書くべきでした。これは、私が開発しているテスト仕様書の一部です。訳あってExcelではなくてWordで作らなければならなくなりました。実際に私が考えて作っているものの一部を、掲載いたします。ほかはまずいので。必要な機能は、操作手順に書きこむと、B列に1が表示され、予想結果は書き込まれる順に、1・2・・・・と割り振るようにしたのです。ですからその機能さえ搭載できれば、どんな手段でもいいのです。
締め切りはキリがついた段階で行います。
αは、=IF(OR($C6="",AND(LEFT($C6,2)<>"1.",LEFT($C6,2)<>"1.",LEFT($C6,1)<>"・")),"",MAX($B$3:$B5)+1)
βは=IF(OR($E6="",LEFT($E6,1)="【",LEFT($E6,1)="["),"",MAX($D$3:$D5)+1)
です。