5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

Excel総合相談所 92

1 :名無しさん@そうだ選挙にいこう:2010/05/24(月) 19:11:03
▼━ 質問のしかた ━━━━━━━━━━━━━━━━━━━━
★1 質問するときは環境や条件はきちんと書いてね。情報後出しはダメ。
★2 要望は具体例や図を使って明確かつ具体的に。
★3 質問前に>>2-20あたりの注意書きやQ&Aを必ず読むこと。
★4 質問テンプレ(雛形)は必須じゃないけど、
   OSやExcelのバージョン、VBAの可否など(下記テンプレ1〜4の情報)は必須情報。

▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類         .】 Windows**
【2 Excelのバージョン   】 Excel**
【3 VBAが使えるか    .】 はい・いいえ
【4 VBAでの回答の可否】 可・否
【5 検索キーワード     】 Googleやヘルプでの検索キーワード

※【4】は、VBAはわからないけどコード書いてくれるならVBAでもいいって場合は「可」
  VBAを使うのは避けたいって場合は「否」にしましょう。丸投げする場合は、必要に応じてブックをアップすること。

※【5】は、あなたがGoogleやヘルプで検索した際に使ったキーワードを書いてください。
  まだ検索してないなら、質問の前にGoogleやヘルプで検索してみてください。
  ttp://www.google.co.jp/

前スレ
Excel総合相談所 91
http://pc11.2ch.net/test/read.cgi/bsoft/1270542226/

912 :名無しさん@そうだ選挙に行こう:2010/07/11(日) 18:27:42
>>899
Excelはピボット使うためのアプリケーションです。

913 :名無しさん@そうだ選挙に行こう:2010/07/11(日) 18:49:15
釣られるお子様が多いので先に言って置く
>>912に釣られないように
雑談は雑談スレでやってね

914 :名無しさん@そうだ選挙に行こう:2010/07/11(日) 20:12:48
Excelのグラフ機能を有効活用してみた
ttp://twitpic.com/238exe
とてもわかりやすい

915 :名無しさん@そうだ選挙に行こう:2010/07/11(日) 20:28:39
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

4ケタのアルファベットがあって、以下の条件で分けるには
どうすればいいですか?

abcd ...... 全て小文字なら残す
ABCD ..... 全て大文字なら残す
Abcd ..... 最初が大文字で、他の3文字が全て小文字なら残す
aBcd ..... 上記以外なので削除
AbCD ..... 上記以外なので削除
AbCd .... 上記以外なので削除

916 :名無しさん@そうだ選挙に行こう:2010/07/11(日) 20:38:24
>>912
896だがファイト!w

917 :名無しさん@そうだ選挙に行こう:2010/07/11(日) 20:44:35
ま、Excel使う実務でやりたいことはクロス集計なんだよな。
Excel使うやつには2種類いる。ピボット使うやつと使わないやつ。
目の前の問題をクロス集計というモデルに帰結させることができるかどうか。
そこが能力の分かれ目。


918 :名無しさん@そうだ選挙に行こう:2010/07/11(日) 20:45:29
>>915
残す?ってなに?
=IF(OR(EXACT(LOWER(A1),A1),EXACT(UPPER(A1),A1),EXACT(PROPER(A1),A1)),A1,"")

こんな感じにすれば、判別はつくけど

919 :名無しさん@そうだ選挙に行こう:2010/07/11(日) 21:05:45
>>910-911
ありがとうございます

920 :名無しさん@そうだ選挙に行こう:2010/07/11(日) 21:33:05
>残す?ってなに?
削除しないって意味じゃね?

921 :名無しさん@そうだ選挙に行こう:2010/07/11(日) 21:37:53
削除するって意味であれば、vbaだな、と想像はしているけれどさ・・・

922 :名無しさん@そうだ選挙に行こう:2010/07/11(日) 22:16:34
ピボットも最近は不自由なく使えるようになったかよな。
ある意味馬鹿でも使える。
昔は使えないケースがたまにあったから、他のテクニックも勉強しないと駄目だった。

923 :名無しさん@そうだ選挙に行こう:2010/07/11(日) 22:33:59
もう一度言いましょう。
Excelはピボット使うためのアプリケーションです。


924 :名無しさん@そうだ選挙に行こう:2010/07/11(日) 22:38:18
馬鹿ほどピボットを覚えなきゃいけないのに、馬鹿は関数に逃げたがる。
配列数式やSUMPRODUCTを勧める馬鹿は死んでくれ。

925 :名無しさん@そうだ選挙に行こう:2010/07/11(日) 23:01:31
関数はピボットテーブル使う時のデータ整形に使ってほしい。
関数で集計はあほ。
SUMIF系の関数は役立たず。


926 :名無しさん@そうだ選挙にいこう:2010/07/12(月) 00:45:10
マクロボタンを押して、ピボットで集計
これ最強!

927 :名無しさん@そうだ選挙にいこう:2010/07/12(月) 03:03:30
ピボット厨もそうで無い人も雑談は向こうでやってne!
【質問不可】Excel総合相談所スレの雑談・議論スレ2
http://pc11.2ch.net/test/read.cgi/bsoft/1151651536/
価値観の押しつけはネトウヨ・在日のネット軍団と同レベルだyo

928 :名無しさん@そうだ選挙にいこう:2010/07/12(月) 10:13:38
次スレの>2以降のテンプレにExcel2010に関するものを追加すべきと思いますが、
誰かまとめてもらえませんか?
Excel2007と共通する部分も多いとは思いますが、詳しい方よろしく

929 :複乳:2010/07/12(月) 10:40:32
http://officetanaka.net/excel/excel2010/index.htm
http://officetanaka.blogspot.com/2009/10/excel-2010.html
http://www.microsoft.com/japan/athome/umall/office2010/function/excel.aspx
[スクリーンショット]は、その名の通り画面をキャプチャしてワークシートに貼り付ける機能
[スパークライン]は、セルの中にちっちゃいグラフを表示する機能
新しいワークシート関数が追加されています。
↑全部いらん
スライサーは便利っちゃ便利かも。DBから数値をひっぱて来る人にはあんまり意味ないけど
office田中さんもいってる、開いているブックのフルパスが表示される機能は便利
テンプレに乗せるような物はないかと

930 :名無しさん@そうだ選挙にいこう:2010/07/12(月) 11:28:08
>>Excel2010に関するものを追加すべきと思いますが、

何で?

931 :複乳:2010/07/12(月) 11:48:18
何でも理由なく変えたがるアホっているんだけど多分それ

932 :名無しさん@そうだ選挙にいこう:2010/07/12(月) 13:56:45
質問です
RANK関数をやりたいんですが

  a
1 4
2 6
3 2
4 #N/A
5 #N/A

となっていて #N/Aがあるとランク関数が出来ません。
どうしても1〜5の中に#N/Aが出てきてしまうので
ランク関数が出来ないのですがどうすればいいでしょうか?


933 :932:2010/07/12(月) 14:24:00
自己解決

934 :複乳:2010/07/12(月) 14:31:54
>>932
やりかた1
NAエラーが出ないようにする。vlookupで例外出ていると仮定するけど、
A1=VLOOKUP(C1,D:E,2,0)
のようになってるとすると
A1=IF(ISERROR(VLOOKUP(C1,D:E,2,0)),"",VLOOKUP(C1,D:E,2,0))
とIFとISERRORを使って条件分岐させる

やり方2
A列はそのままで
B1=IF(ISERROR(A1),"",A1)
とする。エラーだと空白ってことね
そして
C1=IF(B1="","",RANK(B1,B:B))
みたいな感じ。

935 :932:2010/07/12(月) 19:24:12
>>934すいません。入れ違いだったですね。
お手数掛けました。
僕のも考えたんですけど>>934さんの方が合理的です。
やっぱり聞いて良かったです。ありがとうございました。

936 :名無しさん@そうだ選挙にいこう:2010/07/12(月) 20:15:22
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 いいえ

a列に顧客id、b列に顧客名が書かれたリストが
甲、乙の二つあります
甲と乙は別々のブックにあります
甲リストの中で、乙にも記載されている顧客の情報を
削除したいのですが
どのようなやり方があるでしょうか



937 :複乳:2010/07/12(月) 20:45:22
>>936
甲が50行あるとする
乙を甲の下にコピーする
C1=COUNTIF(A:A,A1)
下にオートフィル
C列でオートフィルタ、1のみを抽出
A1:B50をコピーしてはりつけ。オートフィルタ解除で終わり

よく分からないor数が少ないなら
C1=COUNTIF(A:A,A1)
の後で1以外を削除でもいいかも

938 :名無しさん@そうだ選挙にいこう:2010/07/12(月) 20:51:05
ひとつひとつの商品を個別にエクセルファイルとして作ったのですが、ひとつのファイルでシートとして分ける場合には
どうしたらいいですか?
読み込みとかできませんか?

939 :複乳:2010/07/12(月) 21:23:13
>>938
ファイルの名前とシートの名前、シートの構成を教えてもらえればVBAかINDIRECTでなんとかできるとおもう
どうまとめたいか教えて


940 :名無しさん@そうだ選挙にいこう:2010/07/13(火) 00:24:30
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel 2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 ピボットテーブル 重複データ 反映されない

よろしくお願いします。
ある行にまったく同じ内容のデータが2行入っています。
そのデータをピボットテーブルにすると1行分しか入っていません。
内容が合算されているわけではなく、1行分の金額しか入ってこないのです。
なぜでしょうか。ググリましたが、今回だけは解決できそうにもありません。
よろしくお願いいたします。

941 :名無しさん@そうだ選挙にいこう:2010/07/13(火) 04:46:15
>>940
2行目のデータが範囲外なんじゃねーの?
データソースの変更してみた?
それともどちらかが文字列の数字だったりとか。

942 :名無しさん@そうだ選挙にいこう:2010/07/13(火) 06:39:36
>>941
返信ありがとうございます。まずデータは範囲内です。
このデータはアクセスから抽出したもので文字列の数字でないことは手動でも
確認済みです。実はこんな感じで全く同じデータが数か所あるんですが、
全部反映されていません。今、1つしかないデータをコピーして最終行に貼り付けて
範囲指定してみましたが、やっぱり反映されていないですね。なんか設定で
意図的に除外しているような感じのエラーです(泣

943 :名無しさん@そうだ選挙にいこう:2010/07/13(火) 10:19:31
すいません。2007はiferrorがありますが2003はありません。
#N/Aの表示を消したいのですがどうすればいいでしょうか?お願いします!

944 :複乳:2010/07/13(火) 10:24:51
>>943
a1がエラーの場合
=if(iserror(a1),"",a1)
こんな感じで

945 :名無しさん@そうだ選挙にいこう:2010/07/13(火) 10:43:59
>>944 ありがとうございます。2007で作ったので修正が大変ですw
試してみます!

946 :名無しさん@そうだ選挙にいこう:2010/07/13(火) 12:49:33
>>942
どこかにアップすれば?
2chのどこかにアップローダーがあったぞ。

947 :名無しさん@そうだ選挙にいこう:2010/07/13(火) 21:26:26
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002(OfficeXP)

ファイルを順次開いて、コピー&ペーストをしようとマクロを書いてます。
a1〜a5まで開くことを思いながら書いてみましたが、うまくきません。
"D:\data\"以降を変数a1〜a5で割り当てるには
どう書けばいいですか?

Sub コピペする()

a1 = "test-1.xls"
a2 = "test-2.xls"
a3 = "test-3.xls"
a4 = "test-4.xls"
a5 = "test-4.xls"

For i = 1 To 5
  Workbooks.Open Filename:="D:\data\" & a & i
Next

End Sub

948 :名無しさん@そうだ選挙にいこう:2010/07/13(火) 21:43:02
そういうときは配列つかうんだよ a(1)とか

949 :複乳:2010/07/13(火) 22:23:10
Sub コピペする()
Dim a(5) As String
For f = 0 To 4
a(f) = "test-" & f + 1 & ".xls"
Next
For i = 0 To 4
Workbooks.Open Filename:="D:\data\" & a(i)
Next
End Sub
こーんあnかんじかねー

950 :名無しさん@そうだ選挙にいこう:2010/07/13(火) 22:42:22
a(5)はどこ逝った?

951 :複乳:2010/07/13(火) 23:07:12
どっかいった

952 :複乳:2010/07/13(火) 23:08:04
知るかボケ

953 :名無しさん@そうだ選挙にいこう:2010/07/13(火) 23:09:31
>>948
コンパイルエラー
SubまたはFunctionが定義されてませんになってしまいました。
Workbooks.Open Filename:="D:\data\" & a(i)

>>949
"test-1.xls"は例題なので、それぞれファイル名が違います。
変数a1〜a5で割り当てるのはだめなの?

954 :複乳:2010/07/13(火) 23:20:29
>>953
  Workbooks.Open Filename:="D:\data\" & a & i
  Workbooks.Open Filename:="D:\data\" & "a" & i

  Workbooks.Open Filename:="D:\data\a" & i

955 :複乳:2010/07/13(火) 23:22:29
a-dameda,tigau
mousukosimatte

956 :名無しさん@そうだ選挙にいこう:2010/07/13(火) 23:23:17
>>954
実行時エラー1004
D:\data\a1.xlsが見つかりませんと出ました。。。

957 :複乳:2010/07/13(火) 23:31:57
test

958 :複乳:2010/07/13(火) 23:33:17
>>947
ああ、今やっと意味がわかった
文字列("a1")を変数(a1)にしたいわけね、やめといたほうがいい
リフレクションって技術だな。多分。詳細はぐぐってくれ。俺は使ったこと無い。
多分別の方法を考えた方がいいと思う
それでもやりたいならプログラム板のVBAスレで聞くといいと思う
>>956
>>954はすまん、失敗


959 :名無しさん@そうだ選挙にいこう:2010/07/14(水) 00:30:47
>>947 こんな感じか?
Sub aaa()
Dim FN As Variant, WB As Variant
WB = Array("test-1.xls", "test-2.xls", "test-3.xls", "test-4.xls", "test-4.xls")
For Each FN In WB
Workbooks.Open Filename:="D:\data\" & FN
Next FN
End Sub

960 :959:2010/07/14(水) 00:32:40
>>947
もしくはこんな感じか?
Sub bbb()
Dim FN As Variant, WB As Variant
WB = Range("A1:A5").Value ' 予めセルA1〜A5にファイル名を入れとく
For Each FN In WB
Workbooks.Open Filename:="D:\data\" & FN
Next FN
End Sub

961 :名無しさん@そうだ選挙にいこう:2010/07/14(水) 12:10:13
太郎 4  りんご
君子 3  みかん
信二 2  ばなな
淑子 5  ぶどう
直子 1  なし

名前の隣はランク関数で導き出した数字です。

これを

4          1 なし
3          2 ばなな
2          3 みかん
5          4 りんご
1          5 ぶどう  とindex関数で 右側の数字を検査値として果物を導きます。

ところがある値が同じとなってランク関数が

4               1 なし
2               2 ばなな
2               3      ←エラー
5               4 りんご
1  こうなると       5 ぶどう  となります。

エラーはある値により2つになることもあります。
これを防ぐのにはどんなアイデアがいいでしょうか?

962 :名無しさん@そうだ選挙にいこう:2010/07/14(水) 12:16:28
ISERROR()でなんとかする

963 :名無しさん@そうだ選挙にいこう:2010/07/14(水) 12:19:55
>>962ありがとうございます
そのエラーの値になった果物をどうにか表示させるにはどうすればと思いました。
そこで悩んでおります。

964 :名無しさん@そうだ選挙にいこう:2010/07/14(水) 13:07:09
>>963
何でも関数でやろうとするなよ。
コピーして並び替えればいいじゃねーか。
並び変えればRANK関数も必要ないと思うぞ。

965 :名無しさん@そうだ選挙にいこう:2010/07/14(水) 14:04:45
>>964
もっとマシな回答を希望します。

966 :名無しさん@そうだ選挙にいこう:2010/07/14(水) 14:21:11
B1=RANK(A1,$A$1:$A$5)+ROW()/1048577
C1=RANK(B1,$B$1:$B$5,1)
など同じ値にならないようにする
直接求めてもOK

967 :複乳:2010/07/14(水) 14:23:55
>>961
row()/10000を組み合わせる
具体的には
4
2
2
5
1
にそれぞれrow()/10000を足せば
4.00001
2.00002
2.00003
5.00004
1.00005
になるので、この順位をindexではなくもう一度RANK関数で順位をつけると
4
2
3
5
1
になる。まぁ後はうまくやってくれ

968 :名無しさん@そうだ選挙にいこう:2010/07/14(水) 15:46:23
>>966-967ありがとうございます
アイデアなるほどと思いました。さっそくやってみます。

969 :名無しさん@そうだ選挙にいこう:2010/07/14(水) 16:43:04
>>965
RANK関数が必要ないは意味不明だが、前2行は一番まともな回答だな。
まぁ2chだから低ラベルなのは仕方がないかw

970 :名無しさん@そうだ選挙にいこう:2010/07/14(水) 16:59:42
自画自賛かよ

971 :複乳:2010/07/14(水) 17:20:01
>>970
カスども釣られるな(^o^)ノ

972 :名無しさん@そうだ選挙にいこう:2010/07/14(水) 17:44:18
まぁ という単語は本当に便利な馬鹿判定器

973 :複乳:2010/07/14(水) 18:01:31
まぁ、忘れてた
テンプレに>>980で次スレを立てること
って一文入れようと思うんだけどどうだろう
まぁ、悪くないと思うんだけどまぁ

974 :名無しさん@そうだ選挙にいこう:2010/07/14(水) 19:38:28
>>1に追加
★5 次スレは>>980が立てること。踏み逃げと思われる場合or立てられなかった時は>>985が立てる。


975 :名無しさん@そうだ選挙にいこう:2010/07/14(水) 20:16:03
馬鹿は自分の馬鹿さ加減が分らんからね。
複乳もかなりだが>>972もだなw

976 :名無しさん@そうだ選挙にいこう:2010/07/14(水) 20:27:03
まぁそうだね。

977 :名無しさん@そうだ選挙にいこう:2010/07/14(水) 20:50:30
>>959-960
両方ともうまくいきましたが、959で完成させました。
ありがとうございました。

解決したのに申し訳ないですが、WB はなぜ Variant でないと
だめなんでしょうか?
959はString、960はRangeのようにも思えるんですが、
前者はコンパイレラー、後者はエラー91になってしまいます。

978 :名無しさん@そうだ選挙にいこう:2010/07/14(水) 20:51:51
ごめんなさい

× コンパイレラー
○ コンパイルエラー

979 :名無しさん@そうだ選挙にいこう:2010/07/14(水) 21:54:26
>>977
>>959のArray関数はVariant型の配列を返すんだよ。だからVarinat型。
Array関数じゃなくSplit関数使って
WB = Split("test-1.xls test-2.xls test-3.xls test-4.xls test-4.xls")
とすればDim WB() As StringでもいいけどWBもVariant型が普通だな。
ちなみにSplitはExcel2000以降な。
Arrayより少し楽だぜ。

>>960は2個以上のセルの値は2次元配列になり、配列をいきなり変数に入れるならVariant型の変数にしか入れなれない。
WBがRange型なら
Set WB = Range("A1:A5") ' 予めセルA1〜A5にファイル名を入れとく
For Each FN In WB
Workbooks.Open Filename:="D:\data\" & FN.Value
Next FN
としないといかん。もちろん>>960の方が良い。

980 :名無しさん@そうだ選挙にいこう:2010/07/14(水) 23:00:51
馬鹿を侮っちゃいかん
microsoft公認もいるんだから

981 :名無しさん@そうだ選挙にいこう:2010/07/14(水) 23:14:09
すいません質問です。
EXCEL2003でコンボボックスにマクロを登録しておいて、コンボボックスに入力すると
マクロが実行されるようにしてありますが、この実行されるマクロ側で起動元のコンボボックス名を取得する
方法はないでしょうか?

982 :名無しさん@そうだ選挙にいこう:2010/07/14(水) 23:24:17
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 条件付き書式

条件付き書式でセルに色をつけたいです。
セルは、次の3種に分けられます@空白(数式が入っている)A0以上 ex1,2 B 0以下 ex−1、-2

このセルに、Aの0以上の時、セルに赤色をつけようと思っています。
条件の設定は、条件1 セルの値が 次の値以上 0 → 書式で赤色を選択しました。

しかし、@の数式が入っているセルも、条件に引っかかるようで、セルが赤色になります。
この解決方法をおしえてください。

数式は C2=IF(A2=B2,"",B2) を入れ YESの時は セルを空白に NOの時は B2を値を入れています
このB2の値が Aの0以上時のみ セルを赤くしたいです。
C3、C4・・・とつづきます。


なにか一つ式がたりないのか、工夫がたりないと思いますが、ご教授ください

しかし、

983 :名無しさん@そうだ選挙にいこう:2010/07/14(水) 23:41:05
>>981
フォームなら MsgBox Application.Caller かな

984 :複乳:2010/07/14(水) 23:42:26
>>980.
スレ立て よろしくお願いします
>>982
1 数式が =(c2="")
2 値が 以上0
3 値が 以下0

985 :982 ●:2010/07/14(水) 23:53:20
>>984
ありがとうございます

条件3つ入れて解決しました。ありがとうございます。
しかし、自分で0以上と0以下と書いておいて0の取り扱いをかんがえてしまいました。

私がスレたてます

986 ::2010/07/14(水) 23:55:12
Excel総合相談所 93
http://pc11.2ch.net/test/read.cgi/bsoft/1279119276/

987 :名無しさん@そうだ選挙にいこう:2010/07/15(木) 00:02:52
>>983
できました。
感謝感謝。
ありがとうございました。

988 :名無しさん@そうだ選挙にいこう:2010/07/15(木) 09:52:18
今までExcel2002を使っていてCtrl+A一度でシート全体を選択するのに慣れてしまっているのですが
会社のExcelが2003になってしまいCtrl+Aを二度やらないとシート全体が選択できなくなってしまいました
Ctrl+A一度で全体が選択できるようにはできませんか?
A1セルの左上のとこクリックするしかないんでしょうか・・・

989 :名無しさん@そうだ選挙にいこう:2010/07/15(木) 10:11:22
マクロ登録すれば?

990 :名無しさん@そうだ選挙にいこう:2010/07/15(木) 10:19:16
>>839
お礼が遅くなりました、ありがとうございます!
無事に動作し、膨大なデータが1ファイルにまとまりました
60MB分が2MB程度へ…手動だったらゾッとしますorz

991 :複乳:2010/07/15(木) 13:16:38
ume

992 :複乳:2010/07/15(木) 13:20:07
ume

993 :複乳:2010/07/15(木) 13:26:47
ume

994 :複乳:2010/07/15(木) 13:40:56
une

995 :複乳:2010/07/15(木) 14:09:11
une

996 :複乳:2010/07/15(木) 14:14:20
ume

997 :複乳:2010/07/15(木) 14:50:51
mi

998 :複乳:2010/07/15(木) 14:53:49
rr

999 :名無しさん@そうだ選挙にいこう:2010/07/15(木) 15:57:43
MS excel 2007は黒歴史

1000 :名無しさん@そうだ選挙にいこう:2010/07/15(木) 15:59:01
1000 get!!!!!!!!!!!!!!!!!!!!!!

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

338 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.02 2018/11/22 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)