ウォーターサーバーとコーヒーマシンが一体化した画期的マシン >>

HTMLが書き込んであるエクセルファイルがあるんですが、
そのタグだけを関数で取り除きたいです。
今後もhtmlを書き込んで別シートではhtmlを取り除いたものを、
というのが必要なので、関数でできればと思います。
いろいろ考えて、
=SUBSTITUTE(a1,<*>,"")
とか思いついてみたんですが、<*>の部分で駄目みたいです。
よろしくお願いします。

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

A 回答 (5件)

再度 A1に


<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP"/>
B1に
=LEFT(A16,FIND("<",A16))&RIGHT(A16,LEN(A16)-FIND(">",A16)+1)
OR
=LEFT(A17,FIND("<",A17)-1)&RIGHT(A17,LEN(A17)-FIND(">",A17))
のこと?

この回答への補足

ありがとうございます!!
すごい関数ですね。かなり知識がないと、考えつきそうにないですね。

すいません、説明がへたで。
たとえば、

<P>オハヨウ!<BR>
<B>今日はいい<FONT color="#ff0000">お天気</FONT>ですね</B>。<BR>
また明日も頑張ろう<BR>

というのを、

オハヨウ!
今日はいいお天気ですね。
また明日も頑張ろう

という感じに、タグを全部抜いてしまいたいのです。

補足日時:2008/07/14 18:04
    • good
    • 0

No2,3です。

関数案では ギブです。
VBA案 一応
Sub Test()
For i = 1 To Range("A65536").End(xlUp).Row
Cells(i, 2) = Cells(i, 1)
Cells(i, 2).Replace What:="<*>", Replacement:=""
Next
End Sub
    • good
    • 0
この回答へのお礼

本当にありがとうございます!!
hallo-2007さんのような達人がギブということは、
関数では無理なのだと思います。
それがわかっただけでも会社で言えるのでオッケーです
ありがとうございました!!
VBAは使ったことがないので、よくわからないのですが、
できれば、教えていただいたVBAを組み込む方法を頑張って
やってみようと思います。(私には無理かもしれませんが)

お礼日時:2008/07/15 06:42

=TRIM(MID(SUBSTITUTE(SUBSTITUTE(A1,">","<"),"<",REPT(" ",100)),202,100))



をお試し下さい。
    • good
    • 0
この回答へのお礼

ありがとうございます。
少し、思っていた結果と違うようです。
でも、考えてくださって助かりました

お礼日時:2008/07/15 06:38

A1に 


oshiete1.goo.ne.jp/qa4176128.html とか入っていて
B2に
=SUBSTITUTE(A1,".html","")
入れると
oshiete1.goo.ne.jp/qa4176128
になりますが、この様なことですか。

この回答への補足

ありがとうございます。
<>で囲まれている、タグすべてを削除したいのです。

補足日時:2008/07/14 17:01
    • good
    • 0

編集→置換で検索文字列欄に<*>、置換文字列は未入力→全て置換の方が楽ですがで如何でしょうか。

この回答への補足

ありがとうございます。
これまでそのやり方でやっていたのですが、
会社で関数で自動でできないかといわれた次第です。

補足日時:2008/07/14 17:01
    • good
    • 1

このQ&Aに関連する人気のQ&A

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

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

このQ&Aを見た人が検索しているワード

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

QエクセルでHTMLタグだけを取り除きたい。

オークションの一括出品のCSVファイルのHTMLタグを利用しての商品説明をHTMLタグだけを取り除くフリーソフトなどはあるでしょうか? (サイズや、色などの、商品説明の本文のみを抽出する)。携帯用の商品説明に利用したいと思っています。
ご存知の方がいられましたら、教えてください。

Aベストアンサー

本当に何度も何度もすみません。

『No.2の回答の置換処理を行った場合、~』

些細ですが、出だしから間違いがあったので次のように
訂正して読んでください。

「No.3の回答の置換処理を行った場合、~」

大変失礼しました。m(__;)m

QHTMLのソースをエクセルに貼り付ける方法

HTMLのソースを、そのまま(メモ帳表示データのまま)Excelに貼り付ける方法はありますか。

メモ帳でソースの表示をして、全て選択→コピー→Excelに型式を選択して貼り付け→テキスト
で貼り付けてみましたが、変なフォーマットで表示されます。
セルの書式を文字列にしても同じです。

目的はExcelの文字列操作で特定の文字だけ拾い出して加工しようと考えています。
OS:Win95、Excel2000です。

Aベストアンサー

再び登場です。
ソースを表示させたメモ帳をとりあえず一度名前を付けて保存して下さい。
そしてExcelのデータメニューから外部データの取り込み、テキストファイルのインポートをクリック。
後は必要に応じて取り込み方を選びます。
これでどうでしょうか?

Qエクセルのセルの中で改行して入力したものを分割したいんです。

エクセルの入力編集について質問です。

セルに改行(Alt&Enter)をして下記のように入力を行ったのですが、

 Γ ̄ ̄Τ ̄ ̄ ̄ ̄¬
 |番号|内容1 |
 |  |内容2 |
 L__⊥____」

データ処理に不便なために同一セル内にある「内容1」と「内容2」を下記のように別々のセルにしたいと思います。

 Γ ̄ ̄Τ ̄ ̄ ̄ ̄¬
 |番号|内容1 |
 ―――――――――
 |  |内容2 |
 L__⊥____」

もしくは、
 Γ ̄ ̄Τ ̄ ̄ ̄ ̄¬
 |番号|内容1 |
 ―――――――――
 |番号|内容2 |
 L__⊥____」

手作業にてコピーアンドペーストと行の挿入を繰り返しを行うのは、非常に時間がかかるかと思います。

そこで、なにか一括で処理できる方法はありませんでしょうか?お願いします。
また、一括ではなくても入力が簡単になる方法はありませんか?

最後になりますが、Excel 2003を利用しています。

Aベストアンサー

    A      B
1  番号A  内容A
         内容B
2  番号B  内容C
         内容D
3  番号C  内容E
         内容F

のように並んでいる場合ですが、

1.A1:B3を選択してコピーし、Wordに形式選択(HTMLかリッチテキスト)で貼り付け。
2.Wordに貼り付けた全体を選択してコピーし、Excelの別シートに貼り付け。
3.番号の列が結合された状態なので、それらのセルをまとめて選択して結合解除。

ではいかがでしょうか。

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい

Qエクセルで条件に一致したセルの隣のセルを取得したい

下のような「得点」という名前のシートがあります。
(「田中」のセルがA1です。)

 [ 田中 ][ 10 ][ 200 ]
 [ 山田 ][ 21 ][ 150 ]
 [ 佐藤 ][ 76 ][ 250 ]
 [ 鈴木 ][ 53 ][ 350 ]

別のシートのA1セルに、「佐藤」と入力すると、

 [ 佐藤 ]

「得点」シートから「佐藤」の列を見つけて、B1、C1に

 [ 佐藤 ][ 76 ][ 250 ]

のように表示させたいのですが、B1、C1にはどのような式を書けば良いのでしょうか。
「得点」シートでは氏名が重複する事はありません。
IF文を使うと思うのですが、いまいち良く分かりませんでした。

よろしくおねがい致します。

Aベストアンサー

こんにちは!
VLOOKUP関数で対応できます。
IF関数と併用すればエラー処理が可能です。

Excel2007以降のバージョンであれば
B1セルに
=IFERROR(VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0),"")
としてC1セルまでオートフィルでコピー!
そのまま下へコピーすると行が2行目以降でも対応できます。

Excel2003までの場合は
=IF($A1="","",VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0))

としてみてください、m(_ _)m

Qある範囲のセルから任意の値を検索して、その隣のセルの値を取得するという関数はありますか?

Excelの関数について質問します。
ある範囲のせるを検索して、その隣のセルの値を取得するという関数を探しています。
なければユーザー定義で作りたいと思っています。
VLOOKUP関数では一番左端が検索されますが、
それをある範囲まで拡張して、
その右隣の値を取得できるようにしたいのです。
どうかお知恵をお貸しください。

Aベストアンサー

●X1セルの値を範囲A1:F200の中から探して、その右隣のセルの値を返す

 =OFFSET(A1,SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1))-1,SUMPRODUCT(COLUMN(A1:F200)*(A1:F200=X1)))

※最初のA1はワークシートの左上隅を示すものなので、検索範囲に関わらずA1固定
※SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1)) ⇒ A1:F200で値がX1と一致するセルの行番号

>その「ある範囲」の中には検索したい値が入っているセルは1つしかありません。
というのが前提です。複数のセルがHITすると関係ないセルの値が返るので、
場合によっては、IFをかぶせてCOUNTIFで確認した方が良いかもしれません。
 ex. =IF(COUNTIF(A1:F200,X1)=1,【上記数式】,"えらー")

ちなみに、VBAでやるならこんな感じになるかと。

動作の概要
 【検査範囲】から【検査値】を探し、
 最初にHITしたセルについて、右隣のセルの値を返す。
 ex. =Sample(X1,A1:F200)

'--------------------------↓ココカラ↓--------------------------
Function Sample(ByVal 検査値 As Variant,ByVal 検査範囲 As Range)
 For Each セル In 検査範囲
  If セル = 検査値 Then Exit For
 Next セル
 Sample = セル.Offset(0, 1)
End Function
'--------------------------↑ココマデ↑--------------------------

いずれもExcel2003で動作確認済。
以上ご参考まで。

●X1セルの値を範囲A1:F200の中から探して、その右隣のセルの値を返す

 =OFFSET(A1,SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1))-1,SUMPRODUCT(COLUMN(A1:F200)*(A1:F200=X1)))

※最初のA1はワークシートの左上隅を示すものなので、検索範囲に関わらずA1固定
※SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1)) ⇒ A1:F200で値がX1と一致するセルの行番号

>その「ある範囲」の中には検索したい値が入っているセルは1つしかありません。
というのが前提です。複数のセルがHITすると関係ないセルの値が返るので、
場...続きを読む

Q文字列として"(ダブルコーテーション)を表示させる方法

こんにちは。文字列として、ダブルコーテーションを表示させるには、どうすればよいのか教えてください。m(__)m


例えば、
<font size="2">あいうえお</font>

というタグの「あいうえお」の部分が、セルA1にあった場合、

="<font size="2">"&A1&"</font>"という表示にしたいのです。

"2"のダブルコーテーションも文字列として表示させるには、どうすればよろしいのでしょうか。

教えてください。よろしくお願い致します。

Aベストアンサー

こんにちは~

表示形式は 「標準」 のままで、
ダブルコーテーションを、ダブルコーテーションで囲んでください。

""2""

="<font size=""2"">"&A1&"</font>"

としてみてください。

QEXCELで文字列の後ろに同じ文字列を追加するには?

初心者です、教えてください。
ワークシート内の一行の文字列全てに同じ文字を追加したいのですが、方法を教えてください。
初歩的な質問で恐縮ですが、どうかよろしくお願いします。

Aベストアンサー

A1の文章の最後に「ほげー」をつけたいときは、
B1に
=A1&"ほげー"
と入力して、対象となる下までフィルダウン。

そのあと、B列をコピー⇒形式を選択して貼り付け⇒値
最後にA列を削除すればできます。

Q文字列から英数字のみを抽出する関数

文字列から英数字のみを抽出する関数を教えていただきたいです。

セルの文字列にはひらがな、カタカナ、数字、アルファベット、記号等を含みます。

色々調べてはみたのですが、数字のみを抽出する関数の説明はたくさんありますが、
アルファベットも含むとなると見つかりませんでした。

数字0~9とアルファベット27個の計37個の文字なので、どうにか関数でできると思うのですが。

具体的には下記のようにしたいのです。

●A列
今日iPhone5をauで購入
最新のNEWSを15時~PCで見る 
Moonshotを生み出す「Google X」

●B列にこう表示したいのです。
iPhone5au
NEWS15PC
MoonshotGoogleX


スペースは残ったままでも結構です。

詳しい方、どうかよろしくお願いいたします。

Aベストアンサー

>数字のみを抽出する関数の説明はたくさんありますが

文字列の中に数字が「一塊だけ」ある場合の説明は多分沢山ありますが、(今回のご質問のように)「文字数字文字数字文字数字」と不定数入り混じってる場合の数式は、全く見つからなかったと思いますよ。

たとえば「英数字が最大限3カタマリまで」といった制約を付けて無理矢理関数をくっつける事は出来なくはありませんが、正直不細工ですし、そもそもあんまり現実的じゃありません。



手順:
ALT+F11を押す
現れた画面で挿入メニューから標準モジュールを挿入する
現れたシートに下記をコピー貼り付ける

public function myf(a) as string
 dim i as long
 for i = 1 to len(a)
 if mid(a,i,1) like "[0-9a-zA-Z ]" then
  myf = myf & mid(a,i,1)
 end if
 next i
end function

ファイルメニューから終了してエクセルに戻る

任意のセルに元の言葉を記入し、
=myf(A1)
のように計算する。

>数字のみを抽出する関数の説明はたくさんありますが

文字列の中に数字が「一塊だけ」ある場合の説明は多分沢山ありますが、(今回のご質問のように)「文字数字文字数字文字数字」と不定数入り混じってる場合の数式は、全く見つからなかったと思いますよ。

たとえば「英数字が最大限3カタマリまで」といった制約を付けて無理矢理関数をくっつける事は出来なくはありませんが、正直不細工ですし、そもそもあんまり現実的じゃありません。



手順:
ALT+F11を押す
現れた画面で挿入メニューから標準モ...続きを読む

QEXCELエクセル長文の置き換え

エクセルで作ったデータベースで1つのセルの中の「ABC」という文を「あいう」に変える方法を知りたいのです。
ただこのデータベースはちょっと特殊で
(1)一つのセルに20行以上の文字列がある→その為に「置換」機能では「数式が長すぎます。」と出る。
(2)その20行以上ある文はHTMLである。
(3)変更したい文も変更後の文も結構長い。(HTMLタグ含む)
というような状態です。
データが750行以上あるので1個ずつしていたらいつ終わるか分かりません。
マクロなども全く分からず、途方に暮れています。
実用的な案を今すぐ頂ければ有難いです。
よろしくお願い致します。

Aベストアンサー

Excel の置換機能ではダメだったんですよね...?

1. 名前を付けて保存、CSV で書き出し
2. テキストエディターでそのファイルを開き、置換

ならどうですか?


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

人気Q&Aランキング