• ベストアンサー

エクセルやアクセスでこんなことできませんか。

現在以下のように雑誌名と記事のカテゴリと概要を一覧にしてエクセルにまとめています。  <雑誌名>   <記事カテゴリ>  <記事の概要> 日経新聞       政治        記事1 FRIDAY        芸能        記事2 日経コンピュータ   IT         記事3 日経新聞       政治        記事4 日経コンピュータ   政治        記事5  ・         ・          ・  ・         ・          ・ この一覧を利用して、以下のように表示を変えたいのです。             |   政治   |  芸能    |   IT ----------------|-----------|------------|------------ 日経新聞      |  記事1   |         |             |  記事4   |         | ----------------|-----------|------------|------------- FRIDAY       |         |  記事2   | ----------------|-----------|------------|------------- 日経コンピュータ |   記事5  |         |  記事3 ----------------|-----------|------------|------------- 私もいろいろ考えてやってみたのですが上手い方法が見つかりません。どなたか詳しい方教えていただけないでしょうか。エクセルではなくアクセスを使う方法でも構いません。 ちなみに、アクセスのピポットテーブルビューを使うと、上記のように表示はできたのですが、ただ「表示」ができるだけで、その表示のまま外出し(エクセルなどにエクスポート)ができませんでした。 一覧にしている記事が多いため、一つ一つ動かして表示を変えるのはすごく時間がかかってしまうため、困っています。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.2

VBAでやる例です。Sheet1に元データがあるとして、Sheet2に分類して書き出します。A列は結合セルになっているとしています。少数のデータでしか検証できておりませんが、ご参考まで。 Sub test() Dim magazineDic As Object, categoryDic As Object Dim i As Long Dim mykey As Variant Sheets(1).Activate '重複カットしたリスト取得 Set magazineDic = CreateObject("Scripting.Dictionary") Set categoryDic = CreateObject("Scripting.Dictionary") For i = 2 To Range("A" & ActiveSheet.Rows.Count).End(xlUp).Row If Not magazineDic.exists(Cells(i, 1).Value) Then magazineDic.Add Cells(i, 1).Value, "" End If Next i For i = 2 To Range("B" & ActiveSheet.Rows.Count).End(xlUp).Row If Not categoryDic.exists(Cells(i, 2).Value) Then categoryDic.Add Cells(i, 2).Value, "" End If Next i '見出し転記 Sheets(2).Cells.Clear mykey = magazineDic.keys For i = 0 To magazineDic.Count - 1 Sheets(2).Cells(i + 2, 1).Value = mykey(i) Next i mykey = categoryDic.keys For i = 0 To categoryDic.Count - 1 Sheets(2).Cells(1, i + 2).Value = mykey(i) Next i 'データ転記 For i = 2 To Range("A" & ActiveSheet.Rows.Count).End(xlUp).Row Call setValue(magazineNo(Cells(i, 1).Value, magazineDic), categoryNo(Cells(i, 2).Value, categoryDic), Cells(i, 3).Value) Next i Set magazineDic = Nothing Set categoryDic = Nothing End Sub Private Sub setValue(magazineNo As Long, categoryNo As Long, myValue As Variant) Dim myCell As Range Dim i As Long, j As Long Dim mergeRowCount Dim hasEmptyFlag As Boolean Dim indexCell As Range With Sheets(2) Set myCell = .Range("a1") '手動で↓キーを押した時と同じ動作をさせるため1個ずつ下側にオフセットしている For i = 1 To magazineNo Set myCell = myCell.Offset(1, 0) Next i Set indexCell = myCell mergeRowCount = myCell.MergeArea.Cells.Count Set myCell = myCell.Offset(, categoryNo) For j = 0 To mergeRowCount - 1 If myCell.Value = "" Then myCell.Value = myValue hasEmptyFlag = True Else Set myCell = myCell.Offset(1, 0) End If Next j '未記入のセルが無ければ、1行追加 If hasEmptyFlag = False Then myCell.EntireRow.Insert Shift:=xlDown myCell.Offset(-1, 0).Value = myValue indexCell.Resize(mergeRowCount + 1, 1).Merge End If End With End Sub Private Function magazineNo(magazineName As String, myDic As Object) As Long Dim i As Long Dim mykey As Variant mykey = myDic.keys For i = 0 To myDic.Count - 1 If mykey(i) = magazineName Then magazineNo = i + 1 Exit Function End If Next i End Function Private Function categoryNo(categoryName As String, myDic As Object) As Long Dim i As Long Dim mykey As Variant mykey = myDic.keys For i = 0 To myDic.Count - 1 If mykey(i) = categoryName Then categoryNo = i + 1 Exit Function End If Next i End Function

garo-garo
質問者

お礼

ご回答ありがとうございました。 投稿いただいたマクロをそのまま使用したところ、解決することができました。ありがとうございます。 ただ、同じ「記事の概要」が複数表示されてしまうところがありましたが、それは手作業で消すことにしました。 お礼が大変遅くなりまして申し訳ありません。

その他の回答 (2)

回答No.3

A2セル以下に入力関数 A2   =CONCATENATE(雑誌名,カテゴリ,記事) A2答え  FRIDAY芸能記事2 B1セル以下に貼付 B1   <記事の概要> B2   記事2 C1セル以下に貼付 C1   <雑誌名> C2   FRIDAY D1セル以下に貼付 D1   政治 D2   =IF(CONCATENATE($C2,D$1,$B2)=$A2,$B2,"") D2セルをコピーでD2:F○の範囲に貼り付ける。

garo-garo
質問者

お礼

ご回答ありがとうございました。 しかし、残念ながらこの方法では解決しませんでした。 お礼が大変遅くなりまして申し訳ありません。

garo-garo
質問者

補足

ご回答ありがとうございました。 しかし、残念ながらこの方法では解決しませんでした。 お礼が大変遅くなりまして申し訳ありません。

回答No.1

1.データの並べ替え データ - 並べ替え 最優先されるキー 雑誌名 ●昇順 2番目に優先されるキー 記事カテゴリ ●昇順 とします 2. D1セル 「連結」 D2セル =A2&B2 下へオートフィル 3.E1セル 「作業列」 E2セル =IF(D1=D2,SUM(E1,1),1) 下へオートフィル 4. 名前をつける A1:E9セル範囲 を選択して[Ctrl]+[F3] [レ]上端行 5. A11:A13 A11:A13まで雑誌名を重複なく抽出する 昇順であること 6. B11セル 個数の算出 =MAX(INDEX(作業列,MATCH(A11,雑誌名,0)):INDEX(作業列,MATCH(A11,雑誌名))) 下へオートフィル 7. A16セルに =IF(B16=B15,SUM(A15,1),1) 下へオートフィル (B11:B13の合計行分) 8. B16セル =A2 または手入力 9. B17セル =IF(A16>=LOOKUP(B16,$A$11:$B$13),INDEX(雑誌名,MATCH(B16,雑誌名)+1),B16) フィルハンドル ダブルクリック 10. C15:E15セルまで記事カテゴリを入力(順番は何でもOK) 11. C16セル =IF(ISERROR(INDEX(記事の概要,MATCH($B16&C$15,連結,0)-1+$A16)), "",INDEX(記事の概要,MATCH($B16&C$15,連結,0)-1+$A16)) 右へ 下へオートフィル 添付図参照 薄い緑は手入力 数式で行うようなことじゃない??

garo-garo
質問者

お礼

ご丁寧なご回答ありがとうございました。 先に投稿いただいた方の方法で解決できましたしので、この方法は今回は使用しませんでした。 お礼が大変遅くなりまして申し訳ありません。

関連するQ&A

  • 新聞の選択

    30代後半で、SEをしています。 これまでずっと日経新聞を購読していましたが、最近日経産業新聞を読む機会があり、内容にとても惹かれました。 職業柄、金融よりITに興味があり、IT情報の多い日経産業新聞の方が私には向いているように思いました。 ただ、一般的な情報が少ないため、他に一般紙・ビジネス雑誌等も読む必要があるのかなと思いました。 ちなみに、現在、定期購読しているビジネス雑誌はありませんが(専門雑誌として、日経コンピュータは購読しています)、ダイヤモンドやニューズウイークをたまに買う程度です。 そこでアドバイスいただきたいんですが、 ・日経新聞をやめて、日経産業新聞に切り替えた場合、他に何か新聞や雑誌を定期購読した方がいいと思いますか。 ・Yesの場合、新聞や雑誌でおすすめのものはありますか。 ・Noの場合は、ネットで十分等の回答が考えられますが、お勧めのニュースサイトはありますか。ちなみに、私は何度かネットニュースに切り替えを考えましたが、どうも情報収集が上手でなく、正直、どこをどう読んでいったら効率的かが分からずじまいだったので、おすすめの読み方があれば、教えてください。(ネットで見れるのは、1日1回程度です) よろしくお願いします!

  • エクセルやアクセスのデータ一覧

    エクセルやアクセスのデータ一覧をそのままサイト上に表示することは出来ますか? 素人的発想ですが。

    • ベストアンサー
    • HTML
  • ゴシップ誌(週刊誌)の記事の信憑性って?

    毎週のように芸能人のスキャンダルを報じている雑誌って一杯ありますよね。フライデーとか週刊新潮とか。 ああいう雑誌の記事の信憑性ってどの程度なんでしょう。 高くは無いだろうなとは思ってるんですけど、例えば報じてる内容の何%位は本当とか、分かる方いらしたらお願いします。

  • 科学雑誌について教えてください。

    先日、日経新聞のある記事を読んでいて、「○○日付の米科学雑誌サイエンスで公表」と書いてありました。 元の記事を読みたくて、日経新聞→日経サイエンスと考え、そして「Scientific American」という雑誌に行きついたのですが、どうもそれらしい記事が見つかりませんでした。見たのは、月刊誌です。 サイエンスのHPを開いたところ、『TODAY'S NEWS』という項目があったので、該当する日で見ましたが残念ながら探していた記事は載ってませんでした。もしかして、その科学雑誌は、日刊や週刊で発行されているものもあるのでしょうか? それとも、「Scientific American」とは別の同様の名前の科学雑誌が存在するのでしょうか? 回答のほど宜しくお願いいたします。

  • アクセスからエクセルへのエクスポート方法

    アクセスからエクセルへデータのエクスポートをしたいのですが うまく出来ません。 ご意見頂けますでしょうか。(方法が正しいかどうかもお教え願います。) 内容はフォームは一覧形式で表示しており、一覧それぞれにあるボタンを 押すことによりエクセルへエクスポートする。 1.アクセスで作ったフォーム上にボタンを配置 2.ボタンにはアクセスからエクセルへのエクスポートするマクロを設定   (TransferSpreadSeetの方法で設定) 3.一覧には見えないようにユーザIDを設定している。 4.そのユーザーIDでボタンを押されたユーザIDの情報をエクスポートする。   ちなみにエクスポートする情報はクエリーで作成しています。 エクセルまでは展開されているのですが内容がまったくない状態です。 (エクセルを開いただけ。) うまくユーザIDが渡っているかが疑問なところです。 不明点、不足点などありましたら言って下さい。 よろしくお願いします。

  • 芸能記者、ゴシップ記者について!

    私は、フライデーや鹿砦社が取り扱っているような 芸能関係のスキャンダル記事を扱うカメラマンや記者に なりたいと考えています。 そうなるためにはどこに入れば良いのでしょうか 雑誌などにも募集していないし、 フォトグラファーではないので、学校も違うといわれました コネなのでしょうか・・

  • 政治・経済に精通した人になる

    来年から大学に通う者です。 僕は政治や経済に興味がありますが、知識が乏しいです。 そこで、何か新聞や雑誌を読もうかな、と思っています。 他に何か政治経済、その他教養に詳しくなれる良い方法はありませんか? アドバイス御願いします。 新聞→日経  雑誌→プレジデント の予定です。

  • 皆さんが読んでるIT系雑誌は?(社会人希望)

    IT業界で働く人達の中での、 みんな読んでる標準の雑誌ってあるんでしょうか? 支持されている雑誌が知りたいです。 自分の専門分野によっても全然違うとは思いますが…。 3年後くらいに出来たらIT関係で起業したいとも考えています。 (1)IT業界の事が詳しくわかる。 (2)コンピュータの知識を深められる。(ハード・ソフトの両面で) このような本ってありますか? (1)(2)別々でも良いです。 みなさんは何を読んでいますか?? そして何がお勧めですか? 宜しかったら教えてください。 本人のレベルは、コンピュータ全般の知識、中レベル?くらいだと思います。 あまり関係ないですが、昔に2種はとりました。 現在は、日経BP社の ・日経ビジネス ・日経パソコン ・日経ネットワーク ・日経ベンチャー を読んでいます。 日経に偏りすぎですかね??

  • 新聞社(雑誌社)の違い

    日本には数多くの新聞がありますが、 これらに違いはあるのでしょうか? (特に政治的に) 日経や地方新聞は専門分野があるので理解できますが、 他の新聞社の記事や内容の違いが分かりません。 また、政治的な思想が含まれている場合、 誰がそのように書くのを支持するのでしょうか? 業界に詳しい方よろしくお願いします。 読売、毎日、朝日、サンケイetc また、雑誌の違いなんかも分かる方はお願いします。 週間文春、週刊新潮、週刊現代、週刊朝日etc

  • 無料で配布されるtxtファイル

    無料でダウンロードできるtxtファイルを探しています。 新聞や雑誌の記事、連載、コラム、評論等で、ジャンルはコンピュータ、スポーツ、ビジネス、政治、マネー、医療等です。 週一くらいでまとまった量のものが配布されると良いです。 宜しくお願いします。

専門家に質問してみよう