Excel総合相談所 143
■ このスレッドは過去ログ倉庫に格納されています
【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2013
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 否
集計機能には集計やピボット、テーブルなど色々ありますが
どういう場合にどの機能を使えば良いなど、指標はありますか? >>2
ピボットが一番強力だとは思う
正規化されたデータ→ピボット
が集計では一番楽
「テーブル」は便利だけどあまり使わない。集計だけで使う事は個人的には無い。便利かもしれないので、他の人の意見も参考にしたほうが良い
小計機能は手軽でいいけど、もう使っていない >>941
扱いが簡単な数式で作っていただいて
助かります。
これを元に、目的としたものが作れそうです。
ありがとうございました。
>>945
質問が「関数(数式?)ではとてつもなくめんどくさい式になってしまう場合」だったときの
回答者様側の負担を減らすための
一応の保険として、
VBAはありにさせてもらいました。
Excelで言う「関数」って一般的にVBAマクロのことも含むのでしょうか?
それでしたら私の聞き方の問題でしたので申し訳ないです。 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2016
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
. 好 良
1 〇 〇 エリーゼ
2 〇 ソフトせんべい
3 アルフォート
4 〇 〇 ごはん
5 〇 モモ肉
6 〇 野菜
という表があるとして、
〇がつけられている数字と右の項目を
上からジグザグ順に(1好→1良→2好→2良→3好→3良・・・)抜きだしたいのですが、
と
(例)
1 エリーゼ
1 エリーゼ
2 ソフトせんべい
4 ごはん
4 ごはん
5 田中
6 マルエツ
適切な関数を教えていただきたいです。 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
a1,b1,c1,d1,e1,f1
にそれぞれ数値が入ってます。
これらの数値がすべて異なる場合に1を重複する場合には0を表示したいのです。
良い方法はありませんか?a1,b1,c1,d1,e1,f1のセルは実際にはもっと増えるため
一つ一つをCountIFなどで判定するのはつらいのです>< >>8
セルが不確定だと関数で処理するのは無理なんじゃない? >>8
Excel365にすれば出来ますが無理ですか? >>8
自信があまりないけど
=IF((SUMPRODUCT(COUNTIF(A1:B3,A1:B3)*1)=COUNT(A1:B3)),1,0) >>11
毎回思うのですが自信無いなら答えないでほしいです
質問者からすると困惑します 【1 OSの種類 .】Windows10
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
作成した表の列を削除し保存しました。その後、列を誤って削除していたことに気づき戻るボタンを押下しても復元できませんでした。一度保存している以上復活は無理でしょうか?恥ずかしい質問で申し訳ございません。 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel for Microsoft 365 MSO(16.0.13231.20348)64bit
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
仕事で2台のデスクトップPCを使用しています、1台を新しく買い替えたためofficeをダウンロードしてインストールしました。
新PCのエクセルで結合セルを含むソート(並べ変え)ができなくなって困っています
A1〜G30の範囲で各行のE列とF列が結合されています
この状態でソートをかけると「この操作を行うには、すべての結合セルを同じサイズにする必要があります。」とエラーになります
古いPCのエクセル( Excel for Microsoft 365 MSO(16.0.12527.21096)64bit)では問題なくソート(並べ変え)はできます。
これはパソコンが原因なのか、エクセルが原因なのか、分かる方がいらっしゃれば教えてください
また、office365で前のバージョンをインストールする方法があれば、教えていただきたいです
よろしくお願いします。 >>14
おはようございます。ありがとうございます。やってみますね! スミマセン 簡単な関数もググってもわからなくなりました、、
【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel for Microsoft 365 MSO(16.0.13231.20348)64bit
【3 VBAが使えるか .】 はい (昔はできた)
【4 VBAでの回答の可否】 否
A列の文字数(全て半角数字です)で判断し、文字数13桁なら左から文字7桁を取り出し
文字数8桁なら左から文字6桁を取り出す
その他の文字数はそのまま全部取り出す
という関数書いたら8桁の行も7個を取る始末です
どこがいけないんでしょうか
=if(A2>=len(13),left(A2,7),if(A2=len(8),left(A2,6))) 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel365
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
A1,E1,I1,M1・・・と横列に4列おきのセルの文字が指定文字と同一だった場合そのセルの3列横D1,H1,L1,P1・・・の和を出したいです。
横4列使ったグループが横に並んでいてグループの最初の列が一致している文字の場合だけグループ最終列の和を求めたい。縦は日付けで伸ばして行きます。
IFでグループ分足せば出来ますが長すぎるので簡単に引き出せないかと思いまして >>17
=IF(LEN(A2)=13,LEFT(A2,7),IF(LEN(A2)=8,LEFT(A2,6),A2)) >>19
うわ!スゴイ!出来ました!!本当にありがとうございます!!助かりました!m(__)m
自分のとどこが違うかきちんと検証してみます(;^_^A 質問です
Sheet1のA列からC列の範囲に、Sheet2のA列の単語は何個含まれているのかを調べたいです
Sheet2のA列には200語ぐらい、いろいろな単語が並んでいます
どのような数式を書けばよいのでしょうか?
=COUNTIF($A1:$C1,Sheet2のA列の単語)
Sheet2のA列の単語を指定するにはどの様に記述すればよいでしょうか?
よろしくおねがいします すみません>>21に付け足します
【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2016
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 可 >>20
len(13)だと「13」の長さだから2になってしまうのでは? >>22
vbaで
sheet1の(1,1)を取得
sheet2の(1,1)を取得してsheet1の(1,1)と比較
一致したらカウントアップ
sheet2の(2,1)を取得してsheet1の(1,1)と比較
一致したらカウントアップ
以下略
みたいな感じ? >>24ってなにも答えてないも
同義なんでねーの
>>18の内容で同じように答えると
VBAで
A1,E1,I1,M1を取得
同一だった時に
D1,H1,L1,P1の合計を出す
以下略
みたいな感じ?
って書いてるんでしょ?w >>23
いえ、ですがこの関数式、きちんとlen(13)は13桁の文字列(数字)だと判断してましたよ。
ご丁寧にありがとうございます。 >>26
あ、そっか
len(13)はちゃんと長さを示してるけど
A1だけだと長さを取得できてないから比較が想定通りにはならないのか
なるほどね >>26
いや、してないよ
=もし(a2)の「値」が(2)以上なら、左7つ、そうでない場合もし(a2)の「値」が(1)なら、左6つ
という式になってる
a2の「桁数」でなく「値」になってるのがミソ
a2に0.000000001とか入れてみてごらん
>>21
$Sheet2.A:Aだが、a〜cを1列づつcountifして足していかんといかんのじゃないかな >>28
できるなんて書かれてないでw
あと>>24でなにか解決してる、という認識なら
相談スレに書き込む適正がないから
消えたほうがええ >>18
=SUM(FILTER(1:1,(MOD(COLUMN(1:1),4)=0)*(1:1<>""))) >>29
マジですか?ありがとうございます。
会社のPCは閉じちゃったので明日また検証してみますね!m(__)m >>21です
皆さん知恵を絞っていただいてありがとうございます
なかなか簡単にはいかないようですね
私もあまり知識がありませんので不格好ですが、
countif($A1:$C1,"*単語1*")+countif($A1:$C1,"*単語2*")+...と200語手動で繋いでうまくいきました
ありがとうございます 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2016
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 可
A1:B5に数字が入ってたり入っていない表があり、
「最低値がA列にあるかB列にあるか」を判定する式として、
=IF(MIN(A1:B5)=MIN(A1:A5),"A列に最小があるよ","B列に最小があるよ")
という式を作りました。
(最小値がA列とB列両方にある時は"A列に最小があるよ"でとりあえず構いません)
しかし、
「A列に数字が一つも入っていない」かつ「B列の最小値が0である」時、
「Aにはデータが入っていないが、数値的には0である」という判定になっているのか、
「A列に最小があるよ」という間違った(?)判定がでてしまいます。
この「A列にデータが入っていないときに数値的に0である」ことを避けることは可能でしょうか。 >>33
え?そういうことなの?
sheet1
もやし だいこん =COUNTIF($A$1:$A$10,$Sheet2.A:A)+COUNTIF($B$1:$B$10,$Sheet2.A:A)+COUNTIF($C$1:$C$10,$Sheet2.A:A)
せり
しめじ なずな
アボカド きゅうり ほとけのざ
すずしろ もやし すいか
sheet2
せり
なずな
ごぎょう
はこべら
ほとけのざ
すずな
すずしろ
というようなのではなくて? >>36
COUNTBLANK使うとか
=IF(COUNTBLANK(A1:A5)=5,"A列にデータなし","A列にデータある")
>>37
そんな単純じゃないだろうと思ってあえての内容で回答してみたら違っていた。 >>39
やりたいことは
A1からC2の範囲の中に、E列の単語リストがいくつ含まれているのか?っていうことです
A1からC2の範囲には1が2個、あが5個、cが1個、kが0個、2が1個、おが0個で計9個。F2には9が入ります
同様にA2からC2の範囲にE列の単語リストはいくつあるのか...と続いていきます >>41ですが修正です
?A1からC2
○A2からC2
?A2からC2
○A3からC3 すみません、文字化けしてしまって
>>41を書き直します
>>39
やりたいことは
A2からC2の範囲の中に、E列の単語リストがいくつ含まれているのか?っていうことです
A2からC2の範囲には1が2個、あが5個、cが1個、kが0個、2が1個、おが0個で計9個。F2には9が入ります
同様にA3からC3の範囲にE列の単語リストはいくつあるのか...と続いていきます A〜Cのセルには。単語でなくて文章が入るのか?
1セル内に複数の単語が計上される場合もあるということ? >>44
ありがとうございます!
>>45
文章とアドレスです
こんな感じでグーグル検索結果をエクセルに貼り付けてます
https://i.imgur.com/3iXlYd6.png
>1セル内に複数の単語が計上される場合もあるということ?
そのとおりです
すみません、情報が足りなくて >>21
Sheet2のA1:A200が単語リストだとしてSheet1のA1:C1の文字列内に現れる回数は
=SUMPRODUCT(LEN(SUBSTITUTE(Sheet1!A1:C1,Sheet2!A$1:A$200,0&Sheet2!A$1:A$200))-LEN(Sheet1!A1:C1)) 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2013
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
配列が2つあってその二つを内部で結合させたい
こんな感じ配列AとBがあったとして
A B
1 あ
2 い
3 う
Cに結果をこんな感じで入れたい
C
1あ
2い
3う
ループ処理使わないで可能でしょうか? >>29
やってみました。確かに「0.000000001」など小数点が入る数字を入れると抽出する桁数が全然違いましたね。。
ですがまあ、判断するA列に入っている数字は小数点は一切入ってなく
単に数値(ぶっちゃけJANコード)ですので観たところ大丈夫そうでした。
時間を割きいただきありがとうございましたm(__)m >>48
配列同士を演算する機能がVBAにあるかって質問なら、ない
ループを使わないって条件のパズルならワークシートに入れて結合 すみません、基本的なことかもしれませんが
1つのシートに計算式があるセルが500-700というのは多すぎますか?
式は以下のような感じで途中ではしょりましたがこの倍くらいの長さに同じく続きます
=ifs(A1>900,9000,A1>850,7000,A1>800,6000)
動作が不安定になったり、ファイルが壊れるということがありますか? >>54
ありがとうございます
>>53の内容で言えば1つのシートにこういった計算式のあるセルはいくつくらいまでに
抑えたほうが良い目安があれば教えて下さい dir上のエクセルworkbook内のsheet内のcell-addressを示すURL記法はありますか。
厳密でなくとも、Windowsの使用者ならなんとなく解る程度で良いです。
例えば、エクセルのhyperlink関数では [dir/workbook]sheet!cell-address
という表現を用いられていますが、この記法がWindowsユーザ一般に通じるのか分かりません。 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Office365版 Excel
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 否
横方向の範囲を指定したSUM, CONCAT, MIN/MAX, COUNTIF などを下方向にスピルとすると、
書き方が悪いのか、スピル範囲全体の範囲指定になってしまいます。
横方向(1行3列など)をスピルで計算したいです。
A1: 1 B1:2 C1:3 D1:=SUM(A1:C1)
これを下10行目までスピルにしようと =SUM(A1#:C1#) と記述すると
D列にはその行のA〜C列の合計がスピルで表示されるのではなく、
D1にSUM(A1:C10)に当たるものが1つ表示されておしまいです。
https://imgur.com/GnTtrtd
最悪SUMなら A1#+B1#+C1# CONCATなら A1#&B1#&C1# などと避けてきましたが、
今MIN(しかも MIN(A1:C1)ではなくMIN(A1,C1,E1)タイプ)でしんでしまいました。
お助けください。 >>47
ありがとうございます
素晴らしい!できました
見たことない関数なので、調べて自分でも使えるようにしたいと思います
日をまたいでまでお付き合いいただき感謝です
今度からは皆さんにわかりやすいようエクセルのスクショを撮ってアップするよう努力します excelファイルを開いたときに縦にデータがずらりと並んでいて、
キーボードで最後のところまで飛びたいのですが、
Endキーを押しても何も起こりません。
PgDnを連打するのも大変なのですが、
一発で下まで飛べる方法があれば教えてください。 >>61
Ctrl+PgDn で一番下にいかない? >>63
シートが移った
>>64
ありがとう
シート全体のデータの最後ではなく、列固定でデータ列の先頭と最下段を順番に移動するみたいね
でもそれで事足ります >>66
ありがとう
↓だとデータが途切れてるところでいったん止まるので、Endなら一発でした デスクトップならHOMEとかENDがあるところ
ノートPCなら矢印キー併用だったり どなたか>>53これ分かる人がいればお願いします・・・ >>71
IFSが使えるなら2019か365?
スピルが使えるならかなり軽く出来るんだが >>71
数式500〜700くらいで壊れることは無いと思う
一つのセルが変わったら全部計算やり直しみたいな参照ばっかりだと
PCのスペック次第でフリーズはあり得るかも
ifsで結局は値を置き換えるだけなら、縦横の換算表作って検索関数使った方が簡単じゃないかな >>55
体感だけど、一回の計算で30秒ぐらいまでなら問題ない感じ
30秒以上待つようなくっそ重いファイルはそのうち壊れる可能性が高い
今ならもう全部作り直すけど
>>56
無さそう
パス+セル番地は読みづらい
>>59
どなたか答えていただけませんか
スピルはまだ勉強中で回答すら出来なかった >>53ですがみなさんレスありがとうございます
>>73
スピルというのは分からないです
>>74
調べてみると1つセルに入力するだけでそのシート全てを再計算しているんですね
これを手動に変更出来るようでそれをすればマシになるかと思いましたが
外出時は同じ内容をgoogleスプレッドでやってまして、そちらは手動に切り替えが不可能なので
多分無理っぽいですよね・・・
縦横の換算表というのが検索してもよく分かりませんでした
どこか参考になるサイトなどあれば教えて頂けないでしょうか 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2019
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
1シート目:CSVデータを従来のウィザード→テキストから(レガシ)で取り込む
2シート目:=TRIM('Sheet1'!A2)やこれに必要文言を組み合わせる程度の関数で引っ張っている
このとき、1シート目のデータが2行以上になると、一番下のセルから引っ張ってしまうのですが
常に一番上にする解決方法はありますか?
1シート目2シート目、ともに1行目は項目行です。
抽出するデータが常に何行、と決まっているわけではないため、
絶対参照とするのは応用できないので解決にはなりません。 >78
=INDIRECT("sheet1!r1c1",0)
外部データってオプションで挿入扱いになるとかならないとか出来た気がする
https://oggylife.com/archives/1792 A列にデータ
B30=A1〜A30までのうち値の大きいもの10個の平均
C30=同小さいもの10個の平均
B31=A2〜A31までのうち値の大きいもの10個の平均
以下略
とするためにはどのような関数を使えばいいでしょうか? 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2019
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
OSは64ビットなのですが、アドインが32ビットのみ対応のため、32ビットで使用してますが、4から5ブックを開いたまま新規にエクセルを起動したり、操作していると応答なしになったりします。昨年末購入したPCはCPUはI9-9000K、メモリ64GB、起動ディスクは1TB NVMe SSD (M.2 2280, 読込速度 3200MB/s, 書込速度 3000MB/sで、300GBほど使用しています。アドインを諦めて、64ビットにしたら改善されるでしょうか? >>76
換算表て適当に呼んだだけで
850 | 6000
900 | 7000
901 | 9000
こんな表にしとけば=vlookup(A1,表の左列,2)で出来るのでは?と言ったまでよ 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 365
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 否
図形を回転ハンドルで回転させると水平・垂直でスナップしますが
スナップさせなくする方法はありますでしょうか?
水平・垂直以外の角度では滑らかに回転して思い通りの微妙な角度にできるのですが、
水平・垂直付近だけできません。
書式設定では1°以下は受け付けませんし、3D回転は違うと思います。
マクロでできるのはわかりますが、
スナップを無効またはスナップ量を調節する方法が知りたいです。 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2019
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
提案書を作りたいと考えています
提案したい事が10個以上あるのでパワポではなく、エクセルで一覧表を作成しています
縦列に提案したい事(10個以上)、横列に項目を入れたら項目数が多いからか書類の向きを横にしてもひとつひとつが小さくなり読みづらくなりました
解決する術がありましたら教えてください
ちなみに横列の項目には、番号、タイトル、分類、課題、提案詳細、メリット、デメリット、予算、備考を記載しています
表以外の術があれば教えてください >>88
文字が小さくなるのならA3版以上の紙にどうぞ。
行と列で構成される表計算ソフトの出番ではないと思う。 >>81
3個のサンプル
=AVERAGE(LARGE(A1:A30,1),LARGE(A1:A30,2),LARGE(A1:A30,3))
※10個はエラーでて書けなかった
>>87
無かった 牧野って
質問読めない
空気も読めない
Excel出来ない
日本語も出来ない
なんなの?
ホントこのスレに来ないで欲しい そもそも手を使う理由が分からない
ずーと口だけでやってもらいたいのに
あごが疲れたとか言って
手抜きすんなと言いたい 牧野さんそっけない感じだけど頼りにしてますよ
変なこと言わないで ■ このスレッドは過去ログ倉庫に格納されています