初めて自分の家と他人の家が違う、と意識した時

結構、複雑な作業をExcel(マクロ)でやりたいです。
WordPressで、5000以上の駅に関する記事をインポートしてアップしようとしています。
Really Simple CSV Importerというプラグインを使うため、そのcsvファイルも完成しています。

そのcsvには、
C列に、記事タイトル(駅名が含まれている)が書かれていて、
D列に、記事内容が書かれています。

そのD列の記事内容のアコーディオンタグの中に、
別に用意した文章を差し込んでいくようにしたいです。

※アコーディオンタグ
<details>
<summary>〇〇</summary>
~ここに文章を差し込んでいく~
</details>"


差し込んでいく文章は別のExcelにまとめていて、記事毎に違います。

別のExcelのA列に駅名が書かれていて、
X列にアコーディオンタグの中に差し込む文章があります。

csvのC列と別のExcelのA列を参照して、
アコーディオンタグの中にその駅記事のX列の文章を差し込むようにできるでしょうか?

もしかしたら、別のExcel内にかぶるセルが複数あるかもしれません。
そのため一旦、csvのJ列に別のExcelのA列を、K列に文章を表示。

そこから数式で、アコーディオンタグの中に差し込む。
という流れなのかなと思いました。


まとめると、
csvの記事タイトル内の駅名が一致する記事内のアコーディオンタグに、
別のExcelの文章を差し込みたいということです。


csvとExcelと分かれていたり、文章になっている記事タイトルの中から参照したり、
いろいろ複雑な感じなのですが、このようなことはできますでしょうか?

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

A 回答 (2件)

こんばんは



状況がよくわかりませんけれど・・

>そのcsvファイルも完成しています。
雰囲気からすると、こちらのCSVはテンプレートと考えれば、変わらないもののように思われます。
もしそうであるなら、差し込むデータもCSVにしておいて、表示の際に差し込み処理を行うようにしてしまえば、ご質問の作業そのものが不要になるのではないかと思います。
差し込み用のデータのみをメンテして、CSVでアップすれば良いというイメージですね。
5000件とのことなので、若干ながらサーバー(あるいはスクリプトでやるならブラウザ)の負荷がかかりますけれど、多くの定型の表などに、日々可変の情報を織り込むようなサイトで使われている手法です。
ニュースサイトの記事とかブログの最近の記事一覧とか・・


>アコーディオンタグの中にその駅記事のX列の文章を差し込むようにできるでしょうか?
エクセル上で編集なさりたいのなら可能でしょう。
元のCSVをエクセルに読み込んで、別ブックから検索して文字列編集で埋め込めば良いです。

実際の状態がハッキリしないので、以下は要領のみの例となりますが・・
例えば、空き列の1行目に
=IFERROR(LEFT(D1,FIND("</summary>",D1)+9)&INDEX(別ブックのX列,AGGREGATE(15,6,ROW(A$1:A$100)/(COUNTIF(C1,"*"& 別ブックのA$1:A$100 &"*")>0),1))&"</details>",D1)
のような関数式を入れて下方にフィルコピーすれば、この列に編集後のHTMLが表示されます。
その列をカットして、「値をペースト」でD列に戻してあげれば編集後の固定文字列になるでしょう。

質問者様が、この作業をマクロ化できるのなら、マクロで行うことも可能です。
こちらであれば、ボタンを押すなどであとは自動化が可能ですね。
    • good
    • 0

ごめんなさい。


ひょっとすると手作業でやったほうが早いと思うというアドバイスです。

今回だけの作業のためにマクロを作るには対象の数が少なすぎると思うんだ。
これが100万行のデータで対象のシートも1000ほどあるという事なら考えものですが、5000件ほどのデータですので一つずつ手作業で処理することを勧めます。

自分なら作業用の列や行を追加して、データをまとめて加工しながら処理するという方法を採用しますけどね。
これならマクロの動作確認をしながらコードを並べるより早く終わります。
動作確認しながらマクロを作ると……マクロできた♪でも処理終わってる;;ってことになる。

そしてここは「代わりにマクロを作ってください」と【作業委託】する場所ではなく、
自力で問題を解決で起用になるための【アドバイス】をもらう場所です。
(`・ω・´) マクロを自分で作るんだよ。

ということで、マクロで処理をしたいという事であれば、その処理を行うにあたって具体的にどんなことが分からないのかを書いて自力で解決できるようになるためのアドバイスをもらうようにしましょう。

・・・

質問者さん的には
「答え(マクロ)を投稿できないなら黙ってろ」
って思うでしょうが、残念ながらここはそういう場所なんです。
まあ、たまに勘違いしている「俺はこの程度は朝飯前だぜ!」って人がコードを書いてくれることもありますけどね。
    • good
    • 1

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


おすすめ情報