Excel総合相談所 96

このエントリーをはてなブックマークに追加
952名無しさん@そうだ選挙にいこう:2011/04/29(金) 13:24:19.83
>>950
ttp://info.2ch.net/wiki/index.php?%C7%A6%CB%A1%C4%A1%B4%AC%CA%AA

0→1は自動レベルアップで、1以降は、前回のレベルアップから23時間以上経ったのちに
書き込みを行うとレベルアップするので、普通にやってりゃ、1日1レベルずつ上がっていく

但し、連投したり荒らしたりすると、レベルを下げられたりレベル0に戻されたりするので注意
とりあえずLv2だと、本来の書き込み量制限の40%までしか書けない
低レベルにこういう制限掛けて、レベル下げられたり0に戻されたりが嫌なら連投や荒らしはするなって制度だ

でもさ、>>915への回答だったら、この制限内でも十二分に事足りると思うけど

Private Sub CommandButton1_Click()
  Worksheets("Sheet1").Range("A1:C100").AdvancedFilter xlFilterCopy, Range("A1:C2"), Range("A3")
End Sub

これで終わり
完全一致だけではなく、70以上(>=70)みたいなのも指定できる
範囲を100行固定ではなく可変対応にしても、コードは1行のままでちょいと長くなるだけ

>>951
始まって間もない制度なので確かにコロコロ変わるけど、運営側から強制的に忍法帖を破棄される(Lv0に戻される)ってことは
今のところ一度も無いので、Lv上げて置くに越したことはないって点は間違いない
953名無しさん@そうだ選挙にいこう:2011/04/29(金) 13:45:34.81
ついでに>>945-947の短縮版

Private Sub CommandButton1_Click()
  Dim sh_i As Worksheet, sh_o As Worksheet, kensaku() As Variant
  Dim tate_i As Long, tate_o As Long, flg As Boolean
  Set sh_i = Worksheets("Sheet1")
  Set sh_o = ActiveSheet
  kensaku = sh_o.Range("A2:C2").Value ' 検索値(
  tate_i = 2: tate_o = 3 ' 入出力行の初期値
  Do Until sh_i.Cells(tate_i, 1).Value = ""
    flg = True
    If (kensaku(1, 1) <> "") Then flg = (sh_i.Cells(tate_i, 1).Value Like "*" & kensaku(1, 1) & "*")
    If (kensaku(1, 2) <> "") Then flg = flg And (sh_i.Cells(tate_i, 2).Value = kensaku(1, 2))
    If (kensaku(1, 3) <> "") Then flg = flg And (sh_i.Cells(tate_i, 3).Value = kensaku(1, 3))
    If flg Then sh_o.Cells(tate_o, 1).Resize(, 3).Value = sh_i.Cells(tate_i, 1).Resize(, 3).Value       ' 転記
    tate_o = tate_o + Abs(flg)
    tate_i = tate_i + 1
  Loop
End Sub
954名無しさん@そうだ選挙にいこう:2011/04/29(金) 13:54:30.04
>952
Worksheets("Sheet1").Range("A1:C100").AdvancedFilter xlFilterCopy, Range("A1:C2"), Range("A3")
で、名前の部分一致(>915さんの要望)はどこで設定しているの?
955名無しさん@そうだ選挙にいこう:2011/04/29(金) 14:42:09.67
>>954
Sheet1
 名前    点数  年齢
山田 太郎   70    30
鈴木 花子   80    40
佐藤 三郎   90    50

Sheet2
 名前    点数  年齢
山田

試してみたら?
文字列に対してはちゃんと部分一致検索になってるから

もっとも、前方部分一致なので、
> 例えば「山田」と入力すれば、山田を含むデータが
の例では問題ないけど、「太郎」指定で「山田 太郎」は出てこない

Range("A2").Value = "*" & Range("A2").Value
と、必要に応じてこれを戻す1行を加えれば、表明上は簡単に解決したかに見えるが、
これには落とし穴もあって、例えば
「泉 郁(いずみ かおる)」さんと
「郁 泉(いく いずみ)」さんが居て
「郁」姓を検索したい場合や、「泉」名を検索したい場合
"*"の強制追加だと意図しないものまで出てくるので、コードはそのままで(強制"*"付けせず)
「郁」の同姓検索→「郁」
「郁」の同名検索→「* 郁」
と使い分けた方が上手に検索できる

いちいち"* "の入力が面倒とか言うかも知れないが、質問者も例として挙げてる同姓検索なら、
標準で前方部分一致になってるから「姓*」とせずとも「姓」だけで問題ない
つまり「例えば「山田」と入力すれば、山田を〜」は、手動でもコードでも"*"付けせずに要望を満たしている
956906:2011/04/29(金) 14:54:01.13
教えてください。
  A  B
1 あ  100
2 い  200
3 あ  150
4 あ  400

という表を
あ   い
100  200
150
400
といったふうに変換することはできませんか?
957名無しさん@そうだ選挙にいこう:2011/04/29(金) 15:07:19.35
Excel-DNA すげぇーーーー!
958954:2011/04/29(金) 15:16:00.23
>955
詳しい説明thx
http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_advancedfilter.html にも説明ありました。
>抽出条件の書き方はExcelのバージョンによって異なるので注意が必要です。
>Excel2002は完全一致、それ以外は前方一致になります。    ←もちろん文字列の場合だけ
959906:2011/04/29(金) 15:28:02.19
あ、出来ました。
960名無しさん@そうだ選挙にいこう:2011/04/29(金) 15:33:42.78
質問者はExcel2003、Excel2003では前方部分一致
961名無しさん@そうだ選挙にいこう:2011/04/29(金) 19:37:13.40
でもどのバージョンでも同じ動作になる書き方してた方が安全だと思うよ。
'山田太郎"の完全一致なら
タイトル
'=山田太郎

"山田"の前方一致なら
タイトル
'=山田*

みたいな。

後者は
タイトル
山田*
でも同じだjけど、常に'=で始まる書き方覚えればいいんじゃね?
962名無しさん@そうだ選挙にいこう:2011/04/29(金) 20:16:53.77
上は他人がどのバージョンで開くか分らないときの話ね。
自分しか使わないなら自分が分ってる方法でいいでしょう。
963 忍法帖【Lv=13,xxxPT】 :2011/04/29(金) 20:30:51.51
てst
964名無しさん@そうだ選挙にいこう:2011/04/29(金) 20:35:26.56
てst
965 忍法帖【Lv=1,xxxP】 【東電 89.1 %】 :2011/04/29(金) 20:36:49.32
てst
966名無しさん@そうだ選挙にいこう:2011/04/29(金) 20:42:49.04
>>961
質問者が
【2 Excelのバージョン   】 自宅2003、会社2007、ノート2002
とか書いてる場合はな。

そうでなければそこまで気を遣う必要は無い。
質問者が何使ってようと、どのバージョンでも動くように気を遣う必要があるなら
使ってるExcelのバージョン書かせる意味もないし、ここの質問者は客でもないので
質問者の使ってるバージョンにだけ合わせて答えればOK。
967名無しさん@そうだ選挙にいこう:2011/04/29(金) 21:50:16.88
はいはい、だうも失礼しました。
お気に召さなくてごめんなさいね。
968名無しさん@そうだ選挙にいこう:2011/04/30(土) 02:58:44.53
まあ、いいよ
969名無しさん@そうだ選挙にいこう:2011/04/30(土) 14:28:54.86
【1 OSの種類         .】 WindowsVista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 条件付き書式 列単位 セル 背景色 塗り分け
条件付き書式でセルの内容によって、行単位のセルの背景色を塗り分けができるのはググって理解できたのですが
条件付き書式でセルの内容によって、列単位のセルの背景色を塗り分けはググっても分かりませんでした。
これは可能なのでしょうか?
エクセル初心者にもほどがありカエレ、と言われそうですがご教授お願いします。
970複乳:2011/04/30(土) 14:36:56.68
>>969
「数式が」
=(MOD(COLUMN(),3)=1)
こんな感じかね
見たのはrowが入った式と思うから、そこをcolumnに帰ればいいよ
971名無しさん@そうだ選挙にいこう:2011/04/30(土) 22:07:53.45
>>969
次の数式を満たす場合に値を書式設定で
=$A1
とかになっているのを
=A$1
にすればいいと思うよ。
972名無しさん@そうだ選挙にいこう:2011/04/30(土) 22:51:30.28
>>970>>971
解決しました、ありがとうございます
973名無しさん@そうだ選挙にいこう:2011/05/01(日) 15:32:19.91
5段階評価を視覚的に見せるための下図のようなエクセルファイルがあります
ttp://www.gartner.co.jp/b3i/research/110329_sor/img/img_04.gif
(内容は無関係です)
実際にこのようなシートを百枚ほど集めたブックとして存在しているのですが
現在、グラフの部分が、図形の円と縦線と横線と1/4黒丸を重ねて作ってあり
しかもなぜか同じ図形が幾重にも重なっていたりでものすごく大きなファイルになっています
このファイルそのものを、別のPCで他人が開き編集することもあります

本題ですが、この見た目をほぼそのままにファイルサイズを小さくしたいです
どうすれば良いのか、自分で思いついたのは、
1 - 円グラフの外字フォントを自前で作成する方法…ですが他人のPCでは外字が表示されません
2 - 用意した5種類のグラフのビットマップ画像を貼っていく方法…ですが他人が編集しにくいと思います
そこで 3 - VBAでもって、グラフ画像(もしくは自前で作成した外字をファイルに組み込んで)を
任意のセルに貼り付けたり出来ないかな…と思ったのですが…
それともうひとつ、4 - 1/4円グラフの入ったフォントセットを会社で購入してもらう…ですかね
【1 OSの種類         .】 WindowsXPsp3
【2 Excelのバージョン   】 Excel2002(officeXP)
【3 VBAが使えるか    .】 はい(ネットで見つけたすぐ使えるサンプルをいじる程度)
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 1/4円グラフ 5段階評価 外字 VBA
長々と書きましたがもしかしてセルを四つに切って
[■□□□][■■□□][■■■□]のようにセルを染めて妥協すれば良いのかな
974複乳:2011/05/01(日) 16:53:44.95
>>973
http://www.dotup.org/uploda/www.dotup.org1589997.xls.html
http://www.m-hoz.com/jsp/unicode.jsp?Bgn=0&End=65536
1.4に関しては、ユニコードのフォントに1/4刻みの円グラフが入ってるからフォントは買わなくてもいい

[■□□□][■■□□][■■■□]でいいんじゃないかな
ちなみにREPT関数を使うと便利だよ

2.の画像はいつか重くなると思うから、やめたほうがいいと思う
3.も面倒。vbaでできなくもないが、列幅などを調整したら全部影響されたり、
重くなったりでまるでおすすめできない

[■□□□]←こういう棒グラフでいいんじゃないかな
見た目も分かりやすいし、そんなに重くない
重くなってきたら関数をコピーして値で貼り付けておけば、軽くなる
975名無しさん@そうだ選挙にいこう:2011/05/01(日) 17:55:39.82
>>974
円グラフ文字はあったんですね…
アドバイスに従いまして画像を使わない案のどちらかで行こうと思います
ありがとうございました
976名無しさん@そうだ選挙にいこう:2011/05/01(日) 21:39:27.90
せっかくREPT関数とユニコード文字知ってるなら、
そういうグラフは■より0x2588使おうな

0x2588は隙間が無くなるからグラフとして綺麗(サイズによっては隙間が出来ることもあるが)
あえて僅かな隙間をあけて個数を明確にしたい場合は0x2589
>>974のような二次元表の場合は、横幅が抑えられるというメリットもある
ttp://ourfilehost.net/up/file1/img/up3426.png

あと、¼円グラフも、埋め込むならIFを無駄に繋げるよりCHOOSEがいいぞ
×=IF(A2=0,"@","")&IF(A2=1,"A","")&IF(A2=2,"B","")&IF(A2=3,"C","")&IF(A2=4,"D","")
○=CHOOSE(A2+1,"@","A","B","C","D")
977名無しさん@そうだ選挙にいこう:2011/05/01(日) 23:55:08.23
>>976
なるほど勉強になります
978名無しさん@そうだ選挙にいこう:2011/05/01(日) 23:56:20.94
あら?ここIDが表示されないのね >>973です
979名無しさん@そうだ選挙にいこう:2011/05/02(月) 04:59:53.71
複乳の回答はいつもいまひとつ足りない。
980複乳:2011/05/02(月) 11:44:32.01
どなたか次スレお願いします。建てられなかった
981名無しさん@そうだ選挙にいこう:2011/05/02(月) 12:45:57.21
Excel総合相談所 97
http://hibari.2ch.net/test/read.cgi/bsoft/1304307841/
いつもお世話になります。
複乳さんもお疲れ様です。
どうぞ。
982名無しさん@そうだ選挙にいこう:2011/05/02(月) 13:16:41.73
あれ、複乳この間Lv=24(10以上でスレ立て可)だったのに
どっかで荒らしでもして水遁食らったのか?
983 忍法帖【Lv=1,xxxP】 :2011/05/02(月) 13:31:49.09
荒らすほどの若さがない
クッキー間違えて全部消しちゃった(´・ω・`)
984名無しさん@そうだ選挙にいこう:2011/05/03(火) 02:18:17.86
>>981
985名無しさん@そうだ選挙にいこう:2011/05/03(火) 19:44:53.79
UMExcel
986名無しさん@そうだ選挙にいこう:2011/05/04(水) 14:06:42.34
うめ
987名無しさん@そうだ選挙にいこう:2011/05/04(水) 16:12:57.80






988名無しさん@そうだ選挙にいこう:2011/05/05(木) 02:19:18.67
うめ
989名無しさん@そうだ選挙にいこう:2011/05/05(木) 09:35:17.16
うめまつり
990名無しさん@そうだ選挙にいこう:2011/05/05(木) 09:46:39.95
うめ
991 忍法帖【Lv=2,xxxP】 【東電 69.9 %】 :2011/05/05(木) 10:13:25.82
と掛けまして
992名無しさん@そうだ選挙にいこう:2011/05/05(木) 14:15:04.43
1
993 忍法帖【Lv=28,xxxPT】 :2011/05/05(木) 14:48:10.04
忍法帳って何?
994 忍法帖【Lv=40,xxxPT】 【東電 75.3 %】 :2011/05/05(木) 14:51:48.93
あああ
995名無しさん@そうだ選挙にいこう:2011/05/05(木) 15:21:03.91
うめ
996名無しさん@そうだ選挙にいこう:2011/05/05(木) 19:22:26.37
いきうめ
997名無しさん@そうだ選挙にいこう:2011/05/05(木) 19:59:29.59
うめ
998名無しさん@そうだ選挙にいこう:2011/05/05(木) 20:03:03.25
梅の花
999名無しさん@そうだ選挙にいこう:2011/05/05(木) 20:06:10.46
 
1000名無しさん@そうだ選挙にいこう:2011/05/05(木) 20:09:05.98
1000
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。